Our vision is to unlock the power of APIs for DAOs - allowing for proposal executions for any off-chain action, like shipping products from Amazon. We implemented Discord management for DAOs - banning and kicking users for DAOs directly through proposal votes.
DAOs are limited to on-chain executions and trusting foundation and DAO managers to implement proposed changes. Our vision is to unlock the power of APIs to DAOs - allowing for trustless execution of any arbitrary off chain action. Our project focuses onenables banning DAO members on Discord by: connecting a governor's contract to Tally in order to allow DAO voting on proposals, and having passed proposals create an off-chain/on Discord, through the Midpoint API. First, DAO members create a proposal to ban some users via Tally. Next, if the proposal is passed with majority vote, then the proposal will be brought to life automatically, by our contract connecting to the Midpoint API . Our greater vision is to use this type of product to fully decentralize DAOs by allowing them to perform off-chain actions, so they don't sacrifice decentralization for adoption/action.
We based our governance contracts off of OpenZeppelin’s governance contracts and added calls to a smart contract (called DAOPoint) that allows for Github token authorized API calls. Specifically, in execute function, we added a call to the banUser function in DAOPoint that will ban a user when a vote is passed. We created an account on Midpoint and wrote a smart contract (DAOPoint) that allows for API calls from the smart contract itself.
Our modified governor contract to deploy Midpoint contracts when proposals regarding banning/unbanning users were passed. Our DAOPoint class holds most of the bigger function adds and adds the most contact changes. This governor contract is passed into Tally to allow fully off-chain actions to be fully controlled by the DAO. After the governor contract deploys on test-net, then proposals must be proposed and voted on through the easy-to-use Tally interface. Then, this data is collected through our contracts and whatever the intended action is, then executes by deploying the Midpoint contract that was generated by us (through the use of the Discord bot tokens) to inact the intended result.