The Action Module serves to propose, execute or cancel actions that make use of NFTs with rights that have been fractionalized.
The Action Module makes use of Timers to enforce time constraints on proposals. Timers have identifiers and contain a starting and ending block in between which certain actions are allowed to take place. In the case of the Action Module, Timers enforce the period in which a proposal can be rejected.
Any wallet that contains fractions may propose an arbitrary function call in the interest of making use of rights baked into an NFT. The wallet must satisfy a minimum balance in order to avoid spam. An example of an Action would be proposing a builder address for a fractionalized Decentraland estate, or an image to update in a fractionalized Async.Art layer.
An Action may be executed if it hasn't been objected to and the Timer has expired. In standard governance this is known as Unanimous Consent, a simple approach to governance where all proposals pass as long as there are no objections. While this approach makes sense to provide a basic start with NFT governance, other governance solutions can be introduced.
An Action can be rejected if the Timer has not yet expired and the rejecting wallet has the minimum required amount of fractions.