Proposal

Every time a proposal is made, we create a proposal entity that is related to the DAO. Most of the logic in our apps are related to proposal state changes. A proposal can be canceled, sponsored, be in voting period, grace period, pass, fail, processed. Each time these change we update the state of the proposal.

id

Unique identifier and primary key of the entity

id: ID!

createdAt

Block timestamp when the proposal was submitted

createdAt: String!

createdBy

Address that submitted the proposal

createdBy: Bytes!

dao

Related DAO entity

dao: Dao!

proposalId

ID of the proposal

proposalId: BigInt!

prevProposalId

ID of the previous proposal, set at sponsorship

prevProposalId: BigInt!

txHash

Transaction hash of the proposal

txHash: Bytes!

proposalDataHash

Hash of raw transaction data that will be executed if the proposal passes

proposalDataHash: Bytes!

proposalData

Raw transaction data that will be executed if the proposal passes

proposalData: Bytes!

votingPeriod

Duration of the voting period for this proposal in seconds

votingPeriod: BigInt!

votingStarts

UNIX timestamp of when the voting period starts

votingStarts: BigInt!

votingEnds

UNIX timestamp of when the voting period ends

votingEnds: BigInt!

gracePeriod

Duration in seconds of the grace period for this proposal in seconds

gracePeriod: BigInt!

votingPlusGraceDuration

Duration in seconds of the grace and voting periods for this proposal in seconds

votingPlusGraceDuration: BigInt!

graceEnds

UNIX timestamp of when the grace period ends

graceEnds: BigInt!

expiration

UNIX timestamp after which proposal should be considered invalid and skipped

expiration: BigInt!

actionGasEstimate

Estimated gas needed to execute the proposal actions

actionGasEstimate: BigInt!

details

String with human readable description of the proposal

details: String!

selfSponsor

Indicates if the proposal was automatically sponsored

selfSponsor: Boolean!

sponsored

Indicates if the proposal is sponsored

sponsored: Boolean!

sponsor

Address that sponsored the proposal

sponsor: Bytes

sponsorTxHash

Transaction hash of the proposal sponsor

sponsorTxHash: Bytes

sponsorTxAt

UNIX timestamp of when the proposal was sponsored

sponsorTxAt: BigInt

cancelled

Indicates if the proposal is cancelled

cancelled: Boolean!

cancelledTxHash

Transaction hash of the cancelled proposal

cancelledTxHash: Bytes

cancelledTxAt

UNIX timestamp of when the proposal was cancelled

cancelledTxAt: BigInt

cancelledBy

Address that cancelled the proposal

cancelledBy: Bytes

processed

Indicates if the proposal is processed

processed: Boolean!

processTxHash

Transaction hash of processing the proposal

processTxHash: Bytes

processTxAt

UNIX timestamp of when the proposal was processed

processTxAt: BigInt

processedBy

Address that processed the proposal

processedBy: Bytes

actionFailed

Process function was run and execution of proposal action failed

actionFailed: Boolean!

passed

Indicates if the proposal passed

passed: Boolean!

proposalOffering

Amount of native token provided as tribute when proposal was submitted

proposalOffering: BigInt!

yesVotes

Number of current yes votes

yesVotes: BigInt!

noVotes

Number of current no votes

noVotes: BigInt!

yesBalance

Amount of current shares that have voted yes

yesBalance: BigInt!

noBalance

Amount of current shares that have voted no

noBalance: BigInt!

currentlyPassing

Proposal is currently passing quorum and has more yes votes than no votes

currentlyPassing: Boolean!

maxTotalSharesAndLootAtYesVote

Highest share+loot count during any individual yes vote

maxTotalSharesAndLootAtYesVote: BigInt!

The following tribute fields will only have values if the proposal was submitted through the trbute minion contract.

tributeToken

Token address in tribute proposals

tributeToken: Bytes

tributeOffered

Amount of tribute token offered

tributeOffered: BigInt

tributeTokenSymbol

Symbol of the tribute token

tributeTokenSymbol: String

tributeTokenDecimals

Decimal places of the tribute token

tributeTokenDecimals: BigInt

tributeEscrowRecipient

Applicant submitting the tribute proposal

tributeEscrowRecipient: Bytes

proposalType

Proposal type derived from the details field

proposalType: String!

title

Proposal title derived from the details field

title: String

description

Proposal description derived from the details field

description: String

contentURI

Proposal content URI derived from the details field

contentURI: String

contentURIType

Proposal content URI type (ipfs hash, url) derived from the details field

contentURIType: String

votes

Votes scoped to this proposal

votes: [Vote!]