Events Overview
SetupComplete
event SetupComplete( bool lootPaused, - default false bool sharesPaused, - default false uint32 gracePeriod, - set period uint32 votingPeriod, - now set period uint256 proposalOffering, - anti-spam uint256 quorumPercent, - quorum? uint256 sponsorThreshold, - for auto-sponsoring uint256 minRetentionPercent, - new dilution bound string name, - for shares / voting token string symbol, - for shares / voting token address[] guildTokens, - ragequitable tokens uint256 totalShares, - ? uint256 totalLoot - ? ** Do we need to add the GnosisSafe vault?);
SubmitProposal
event SubmitProposal(uint256 indexed proposal, - proposal countbytes32 indexed proposalDataHash, - action datauint256 votingPeriod, - might drop this nowbytes proposalData, - raw datauint256 expiration, - outside time for processing before auto failbool selfSponsor, - true / false depending on whether submitter has enought DAO votes (incl. delegated votes)uint256 timestamp, - time submittedstring details - details); /_emits after proposal is submitted_/
SponsorProposal
event SponsorProposal(address indexed member, - who sponsoreduint256 indexed proposal, - proposal number / orderuint256 indexed votingStarts - when voting starts); /_emits after member has sponsored proposal_/
CancelProposal
event CancelProposal(uint256 indexed proposal);
TODO: add docs -- this is the same as Moloch v2 This emits when proposal is cancelled.
SubmitVote
event SubmitVote(address indexed member, - voteruint256 balance, - total voting weight including delegated shares \** We probably want to show a voter's specific voting weight for a proposal at the time of voting, since the delegation relies on a snapshot that might not completely match.uint256 indexed proposal, - proposal indexbool indexed approved); /*emits after vote is submitted on proposal*/
ProcessProposal
event ProcessProposal(uint256 indexed proposal, - proposal orderbool passed, - did proposal get more yes > nobool actionFailed - alerts to failure to execute actions); /*emits when proposal is processed & executed\*/
ProcessingFailed
event ProcessingFailed(uint256 indexed proposal); - duplicate event if processing fails -- don't know if we actually need this./_emits when proposal is processed & executed_/
Ragequit
event Ragequit(address indexed member, - ragequitteraddress to, - address where RQ tokens are being sentuint256 indexed lootToBurn,- burned lootuint256 indexed sharesToBurn, - burned sharesaddress[] tokens - the tokens that are being burned.\*\* These tokens default to the GuildToken list, but there's now an advanced ragequit function that allows someone to note which tokens can be burned.);/_emits when users burn Baal `shares` and/or `loot`for given `to` account_/
Approval
event Approval(address indexed owner, - Baal shareholderaddress indexed spender, - person getting to spend sharesuint256 amount - amount to be pulled); \**Just like ERC20 approval/*emits when Baal `shares` are approved for pulls with erc20 accounting\*/
Transfer
event Transfer(address indexed from, - either from Baal when minting shares for a member or from Member when burning sharesaddress indexed to, - either to 0x when burning shares or to another member when mintinguint256 amount - amount being minted or burned);** If it's from member to member that's a transfer**I think this works as an event for us, but we could consider separate events for minting and burning to make things a little clearer./_emits when Baal `shares` are minted, burned or transferred with erc20 accounting_/
TransferLoot
event TransferLoot(address indexed from,address indexed to,uint256 amount);** Same deal as above when it comes to watching the to / from in terms of understanding whether loot is being minted or burned.** Probably place to do cleanup, since this might be duplicative with Loot having it's own events./_emits when Baal `loot` is minted, burned or transferred_/
DelegateChanged
event DelegateChanged(address indexed delegator, -- person delegatingaddress indexed fromDelegate, -- old delegate (could be delegator)address indexed toDelegate -- new delegate); \**Just emits when there's a change in WHO is the delegate/*emits when an account changes its voting delegate\*/
DelegateVotesChanged
event DelegateVotesChanged(address indexed delegate,uint256 previousBalance,uint256 newBalance);\*\*Updates the balance of the delegate's voting weight at the snapshot time of the function being called. Means that they won't be able to use voting power on proposals in the works, but on future proposals./_emits when a delegate account's voting balance changes_/
ShamanSet
event ShamanSet(address indexed shaman, uint256 permission); /_emits when a shaman permission changes_/
Permissions:
- Admin - just transferrability
- Manager - Mint / burn
- Governor - God mode to change gov config
GuildTokenSet
event GuildTokenSet(address indexed token, bool enabled); /_emits when a guild token changes_/
GovernanceConfigSet
event GovernanceConfigSet(uint32 voting,- new voting perioduint32 grace, - new grace perioduint256 newOffering, - new offeringuint256 quorum, - new quorumuint256 sponsor, - new self-sponsor thresholduint256 minRetention - new dilution bound); /_emits when gov config changes_/
SharesPaused
event SharesPaused(bool paused); \**When paused shares are non-transferrable/*emits when shares are paused or unpaused\*/
Lootpaused
event LootPaused(bool paused); \**When paused loot is non-transferrable/*emits when loot is paused or unpaused\*/