Dao
inputs | 0 | address | _resolver |
AddProposalDoc
7e60a4e6
inputs | 0 | bytes32 | _proposalId | |
1 | bytes32 | _newDoc |
ChangeProposalFunding
c9e43761
inputs | 0 | bytes32 | _proposalId |
CloseProposal
cc0c35dc
inputs | 0 | bytes32 | _proposalId |
FinalizeProposal
7987ab68
inputs | 0 | bytes32 | _proposalId |
FinishMilestone
7f575746
inputs | 0 | bytes32 | _proposalId | |
1 | uint256 | _milestoneIndex |
MigrateToNewDao
bdee2a20
inputs | 0 | address | _newDaoContract | |
1 | address | _newDaoFundingManager | ||
2 | address | _newDaoRewardsManager |
ModifyProposal
8ed872b5
inputs | 0 | bytes32 | _proposalId | |
1 | bytes32 | _newDoc |
NewProposal
ab48f599
inputs | 0 | bytes32 | _proposalId | |
1 | address | _proposer |
PRLAction
75c2f2b4
inputs | 0 | bytes32 | _proposalId | |
1 | uint256 | _actionId | ||
2 | bytes32 | _doc |
CONTRACT_ADDRESS
db4ecbc1
addProposalDoc
eef7b8f5
Add IPFS docs to a proposal
This is allowed only after a proposal is finalized. Before finalizing a proposal, proposer can modifyProposal and basically create a different ProposalVersion. After the proposal is finalized, they can only allProposalDoc to the final version of that proposal
inputs | 0 | bytes32 | _proposalId | ID of the proposal |
1 | bytes32 | _newDoc | hash of the new IPFS doc |
changeFundings
711f2614
Function to change the funding structure for a proposal
Proposers can only change fundings for the subsequent milestones, during the duration of an on-going milestone (so, cannot be before proposal finalization or during any voting phase)
inputs | 0 | bytes32 | _proposalId | ID of the proposal |
1 | uint256[] | _milestonesFundings | Array of fundings for milestones | |
2 | uint256 | _finalReward | Final reward needed for completion of proposal | |
3 | uint256 | _currentMilestone | the milestone number the proposal is currently in |
closeProposal
078f872c
Function to close proposal (also get back collateral)
Can only be closed if the proposal has not been finalized yet
inputs | 0 | bytes32 | _proposalId | ID of the proposal |
currentQuarterNumber
7f6a26b6
Get the current quarter index
Quarter indexes starts from 1
outputs | 0 | uint256 | _quarterNumber | the current quarter index |
currentTimeInQuarter
560a25ea
Get the current relative time in the quarter
For example: the currentTimeInQuarter of the first second of any quarter is 1
outputs | 0 | uint256 | _currentT | the current relative time in the quarter |
endorseProposal
926851af
Function to endorse a pre-proposal (can be called only by DAO Moderator)
inputs | 0 | bytes32 | _proposalId | ID of the proposal (hash of IPFS doc of the first version of the proposal) |
finalizeProposal
47d0da14
Finalize a proposal
After finalizing a proposal, no more proposal version can be added. Proposer will only be able to change fundings and add more docs Right after finalizing a proposal, the draft voting round starts. The proposer would also not be able to closeProposal() anymore (hence, cannot claim back the collateral anymore, until the final voting round passes)
inputs | 0 | bytes32 | _proposalId | ID of the proposal |
finishMilestone
55cc3136
Function to set milestone to be completed
This can only be called in the Main Phase of DigixDAO by the proposer. It sets the voting time for the next milestone, which is immediately, for most of the times. If there is not enough time left in the current quarter, then the next voting is postponed to the start of next quarter
inputs | 0 | bytes32 | _proposalId | ID of the proposal |
1 | uint256 | _milestoneIndex | Index of the milestone. Index starts from 0 (for the first milestone) |
founderCloseProposals
0247afe8
Function for founders to close all the dead proposals
Dead proposals = all proposals who are not yet finalized, and been there for more than the threshold time The proposers of dead proposals will not get the collateral back
inputs | 0 | bytes32[] | _proposalIds | Array of proposal IDs |
getAddressConfig
1d8ccd04
inputs | 0 | bytes32 | _configKey |
getBytesConfig
93ddad08
inputs | 0 | bytes32 | _configKey |
getUintConfig
b1e2b9dd
inputs | 0 | bytes32 | _configKey |
get_contract
3f83acff
Get the address of a contract
inputs | 0 | bytes32 | _key | the resolver key to look up |
outputs | 0 | address | _contract | the address of the contract |
isDaoNotReplaced
d70d9358
Check if the DAO contracts have been replaced by a new set of contracts
outputs | 0 | bool | _isNotReplaced | true if it is not replaced, false if it has already been replaced |
isLockingPhase
7d6fed80
Check if it is currently in the locking phase
No governance activities can happen in the locking phase. The locking phase is from t=0 to t=CONFIG_LOCKING_PHASE_DURATION-1
outputs | 0 | bool | _isLockingPhase | true if it is in the locking phase |
isMainPhase
68533060
Check if it is currently in a main phase.
The main phase is where all the governance activities could take plase. If the DAO is replaced, there can never be any more main phase.
outputs | 0 | bool | _isMainPhase | true if it is in a main phase |
isModerator
fa6f3936
Check if a user is a moderator in the current quarter
inputs | 0 | address | _user |
isParticipant
929066f5
Check if a user is a participant in the current quarter
inputs | 0 | address | _user |
isProposalPaused
f94f0f33
Check if a proposal is currently paused/stopped
If a proposal is paused/stopped (by the PRLs): proposer cannot call for voting, a current on-going voting round can still pass, but no funding can be withdrawn.A paused proposal can still be unpausedIf a proposal is stopped, this function also returns true
inputs | 0 | bytes32 | _proposalId | |
outputs | 0 | bool | _isPausedOrStopped | true if the proposal is paused(or stopped) |
key
3943380c
migrateToNewDao
3b00763d
Migrate this DAO to a new DAO contract
This is the second step of the 2-step migration Migration can only be done during the locking phase, after the global rewards for current quarter are set. This is to make sure that there is no rewards calculation pending before the DAO is migrated to new contracts The addresses of the new Dao contracts have to be provided again, and be double checked against the addresses that were set in setNewDaoContracts()
inputs | 0 | address | _newDaoContract | Address of the new DAO contract |
1 | address | _newDaoFundingManager | Address of the new DaoFundingManager contract, which would receive the remaining ETHs in this DaoFundingManager | |
2 | address | _newDaoRewardsManager | Address of the new daoRewardsManager contract, which would receive the claimableDGXs from this daoRewardsManager |
modifyProposal
d0bd65b1
Modify a proposal (this can be done only before setting the final version)
inputs | 0 | bytes32 | _proposalId | Proposal ID (hash of IPFS doc of the first version of the proposal) |
1 | bytes32 | _docIpfsHash | Hash of IPFS doc of the modified version of the proposal | |
2 | uint256[] | _milestonesFundings | Array of fundings of the modified version of the proposal (in wei) | |
3 | uint256 | _finalReward | Final reward on successful completion of all milestones of the modified version of proposal (in wei) |
resolver
04f3bcec
setNewDaoContracts
b202cc96
Set addresses for the new Dao and DaoFundingManager contracts
This is the first step of the 2-step migration
inputs | 0 | address | _newDaoContract | Address of the new Dao contract |
1 | address | _newDaoFundingManager | Address of the new DaoFundingManager contract | |
2 | address | _newDaoRewardsManager | Address of the new daoRewardsManager contract |
setStartOfFirstQuarter
5b30f1cc
Call this function to mark the start of the DAO's first quarter. This can only be done once, by a founder
inputs | 0 | uint256 | _start | Start time of the first quarter in the DAO |
submitPreproposal
2b847105
Submit a new preliminary idea / Pre-proposal
The proposer has to send in a collateral == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL) which he could claim back in these scenarios: - Before the proposal is finalized, by calling closeProposal() - After all milestones are done and the final voting round is passed
inputs | 0 | bytes32 | _docIpfsHash | Hash of the IPFS doc containing details of proposal |
1 | uint256[] | _milestonesFundings | Array of fundings of the proposal milestones (in wei) | |
2 | uint256 | _finalReward | Final reward asked by proposer at successful completion of all milestones of proposal |
updatePRL
7ef37354
Function to update the PRL (regulatory status) status of a proposal
if a proposal is paused or stopped, the proposer wont be able to withdraw the funding
inputs | 0 | bytes32 | _proposalId | ID of the proposal |
1 | uint256 | _action | ||
2 | bytes32 | _doc | hash of IPFS uploaded document, containing details of PRL Action |