# Baal Events
EVENTS
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?
);
event SubmitProposal(
uint256 indexed proposal, - proposal count
bytes32 indexed proposalDataHash, - action data
uint256 votingPeriod, - might drop this now
bytes proposalData, - raw data
uint256 expiration, - outside time for processing before auto fail
bool selfSponsor, - true / false depending on whether submitter has enought DAO votes (incl. delegated votes)
uint256 timestamp, - time submitted
string details - details
); /*emits after proposal is submitted*/
event SponsorProposal(
address indexed member, - who sponsored
uint256 indexed proposal, - proposal number / order
uint256 indexed votingStarts - when voting starts
); /*emits after member has sponsored proposal*/
event CancelProposal(uint256 indexed proposal); - same as old moloch
/*emits when proposal is cancelled*/
event SubmitVote(
address indexed member, - voter
uint256 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 index
bool indexed approved
); /*emits after vote is submitted on proposal*/
event ProcessProposal(
uint256 indexed proposal, - proposal order
bool passed, - did proposal get more yes > no
bool actionFailed - alerts to failure to execute actions
); /*emits when proposal is processed & executed*/
event ProcessingFailed(uint256 indexed proposal); - duplicate event if processing fails -- don't know if we actually need this.
/*emits when proposal is processed & executed*/
event Ragequit(
address indexed member, - ragequitter
address to, - address where RQ tokens are being sent
uint256 indexed lootToBurn,- burned loot
uint256 indexed sharesToBurn, - burned shares
address[] 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*/
event Approval(
address indexed owner, - Baal shareholder
address indexed spender, - person getting to spend shares
uint256 amount - amount to be pulled
);
**Just like ERC20 approval
/*emits when Baal `shares` are approved for pulls with erc20 accounting*/
event Transfer(
address indexed from, - either from Baal when minting shares for a member or from Member when burning shares
address indexed to, - either to 0x when burning shares or to another member when minting
uint256 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*/
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*/
event DelegateChanged(
address indexed delegator, -- person delegating
address 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*/
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*/
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
event GuildTokenSet(address indexed token, bool enabled); /*emits when a guild token changes*/
event GovernanceConfigSet(
uint32 voting,- new voting period
uint32 grace, - new grace period
uint256 newOffering, - new offering
uint256 quorum, - new quorum
uint256 sponsor, - new self-sponsor threshold
uint256 minRetention - new dilution bound
); /*emits when gov config changes*/
event SharesPaused(bool paused);
**When paused shares are non-transferrable
/*emits when shares are paused or unpaused*/
event LootPaused(bool paused);
**When paused loot is non-transferrable
/*emits when loot is paused or unpaused*/