/// The Vote module is used to allow voting on proposals on the chain.
/// It is typically not going to be used directly, but is intended to be
/// used as a library for modules which want to perform operations which
/// require m-of-n approvals from accounts on chain.
/// A typical workflow would look like the following
/// * Module M creates a ballot with a given `Proposal` and an approval policy using `create_ballot`
/// * It receives the BallotID corresponding to the ballot
/// * It submits votes using the `vote` function from the voters
/// * If a vote causes a ballot to be approved, `vote` returns `true` and Module M can proceed with the operation requested by the `Proposal`
module ExperimentalFramework::Vote {
use Std::BCS;
use Std::Errors;
use Std::Event;
use Std::Signer;
use Std::Vector;
use CoreFramework::DiemTimestamp;
#[test_only]
friend ExperimentalFramework::VoteTests;
This file has been truncated. show original
I found this today what are some steps I can take in order to translate this into sui-move, or is there something out there that already exists for onchain governance?
1 Like