DAO contract for decentralized Reflector oracle network
Executed during the deployment
pub fn config(e: Env, config: ContractConfig)
Unlocks tokens distributed to the developer organization and operators on a weekly basis. Requires admin permissions.
pub fn unlock(e: Env, developer: Address, operators: Vec<Address>)
Fetches the amount of DAO tokens available for claiming by a given account.
pub fn available(e: Env, claimant: Address) -> i128
Claims tokens unlocked for a given account address.
pub fn claim(e: Env, claimant: Address, to: Address, amount: i128)
Creates a new ballot and deposits the tokens to the DAO.
pub fn create_ballot(e: Env, params: BallotInitParams) -> u64
Fetches a ballot by its unique ID.
pub fn get_ballot(e: Env, ballot_id: u64) -> Ballot
Retracts the proposal and initiates the deposit refund on behalf of the ballot initiator.
pub fn retract_ballot(e: Env, ballot_id: u64)
Confirms ballot decision based on the operators voting (decision requires the majority of signatures)
pub fn vote(e: Env, ballot_id: u64, accepted: bool)