Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Querying Board Configuration

View functions for reading board configuration and checking participant eligibility.

Participant eligibility

// Read proposer requirements
IAuthorizer.ParticipantRequirements memory reqs = signals.getProposerRequirements();
 
// Read supporter requirements
IAuthorizer.ParticipantRequirements memory reqs = signals.getParticipantRequirements();
 
// Check if a specific account can propose (with optional lock amount)
bool canPropose = signals.accountCanPropose(account, lockAmount);
 
// Check if a specific account can support (with given lock amount)
bool canSupport = signals.accountCanSupport(account, lockAmount);

Acceptance criteria

// Get the full acceptance criteria struct
AcceptanceCriteria memory criteria = signals.getAcceptanceCriteria();
 
// Get the current effective threshold
uint256 threshold = signals.getAcceptanceThreshold();

The effective threshold is dynamic. It recalculates based on current totalSupply(), so the value may change between calls if the underlying token supply changes.

Board state

// Timing
uint256 opens = signals.opensAt();
uint256 closes = signals.closesAt();
 
// Status
bool open = signals.isBoardOpen();
bool closed = signals.isBoardClosed();
bool cancelled = signals.boardCancelled();
 
// Locking
uint256 interval = signals.lockInterval();
uint256 maxIntervals = signals.maxLockIntervals();
uint256 releaseDuration = signals.releaseLockDuration();
uint256 timeout = signals.inactivityTimeout();
 
// Decay
uint256 curveType = signals.decayCurveType();
uint256 param = signals.decayCurveParameters(0);
 
// Token
address token = signals.underlyingToken();