Contract to manage DAO funds
/contracts/interactive/DaoFundingManager.sol

Digix Holdings

constructor

DaoFundingManager

inputs0address_resolver
inputs1address_fundingSource
event

ClaimFunding 8d1b0df4

inputs0bytes32_proposalId
inputs1uint256_votingRound
inputs2uint256_funding
function, constant

CONTRACT_ADDRESS db4ecbc1

function, constant

FUNDING_SOURCE 8b43ba93

function

claimFunding 7bf6b37e

Call function to claim the ETH funding for a certain milestone

Note that the proposer can do this anytime, even in the locking phase

inputs0bytes32_proposalId

ID of the proposal

inputs1uint256_index

Index of the proposal voting round that they got passed, which is also the same as the milestone index

function, constant

currentQuarterNumber 7f6a26b6

Get the current quarter index

Quarter indexes starts from 1

outputs0uint256_quarterNumber

the current quarter index

function, constant

currentTimeInQuarter 560a25ea

Get the current relative time in the quarter

For example: the currentTimeInQuarter of the first second of any quarter is 1

outputs0uint256_currentT

the current relative time in the quarter

function, constant

getAddressConfig 1d8ccd04

inputs0bytes32_configKey
function, constant

getBytesConfig 93ddad08

inputs0bytes32_configKey
function, constant

getUintConfig b1e2b9dd

inputs0bytes32_configKey
function, constant

get_contract 3f83acff

Get the address of a contract

inputs0bytes32_key

the resolver key to look up

outputs0address_contract

the address of the contract

function, constant

isDaoNotReplaced d70d9358

Check if the DAO contracts have been replaced by a new set of contracts

outputs0bool_isNotReplaced

true if it is not replaced, false if it has already been replaced

function, constant

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

outputs0bool_isLockingPhase

true if it is in the locking phase

function, constant

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.

outputs0bool_isMainPhase

true if it is in a main phase

function, constant

isModerator fa6f3936

Check if a user is a moderator in the current quarter

inputs0address_user
function, constant

isParticipant 929066f5

Check if a user is a participant in the current quarter

inputs0address_user
function, constant

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

inputs0bytes32_proposalId
outputs0bool_isPausedOrStopped

true if the proposal is paused(or stopped)

function, constant

key 3943380c

function

moveFundsToNewDao c72deb9a

Function to move funds to a new DAO

inputs0address_destinationForDaoFunds

Ethereum contract address of the new DaoFundingManager

function

refundCollateral 7e71332b

Function to refund the collateral to _receiver

Can only be called from the Dao contract

inputs0address_receiver

The receiver of the funds

inputs1bytes32_proposalId
outputs0bool_success

Boolean, true if refund was successful

function, constant

resolver 04f3bcec

function

setFundingSource 9f5c0695

Function to set the source of DigixDAO funding

only this source address will be able to fund the DaoFundingManager contract, along with CONTRACT_DAO

inputs0address_fundingSource

address of the funding source