Creating a Mandate
This guide provides instructions for developers on how to create and implement their own custom mandates for the Powers protocol.
1. Understand the General Logic
Before creating your own mandate, it is essential to understand the fundamental logic of how a mandate works within the Powers protocol.
Mandate.solContract: This is the base implementation for all mandates. It provides the core functionality and interface that your custom mandate will need to inherit. You can find the source code in thesolidity/src/Mandate.solfile.- Mandate Documentation: For a detailed explanation of the
Mandate.solcontract, its functions, and best practices, please refer to the The Mandate.sol Contract documentation page.
2. Check Existing Examples
The best way to learn how to implement a specific mandate is by studying the existing examples. The solidity/src/mandates directory in the repository contains various implementations that you can use as a reference.
These examples demonstrate how to implement different types of conditions and degrees of freedom, from simple role-based execution to complex voting mechanisms.