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 db4ecbc1addProposalDoc eef7b8f5Add 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 711f2614Function 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 078f872cFunction 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 7f6a26b6Get the current quarter index
Quarter indexes starts from 1
| outputs | 0 | uint256 | _quarterNumber | the current quarter index |
currentTimeInQuarter 560a25eaGet 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 926851afFunction 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 47d0da14Finalize 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 55cc3136Function 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 0247afe8Function 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 3f83acffGet 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 d70d9358Check 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 7d6fed80Check 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 68533060Check 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 fa6f3936Check if a user is a moderator in the current quarter
| inputs | 0 | address | _user |
isParticipant 929066f5Check if a user is a participant in the current quarter
| inputs | 0 | address | _user |
isProposalPaused f94f0f33Check 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 3943380cmigrateToNewDao 3b00763dMigrate 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 d0bd65b1Modify 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 04f3bcecsetNewDaoContracts b202cc96Set 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 5b30f1ccCall 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 2b847105Submit 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 7ef37354Function 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 |