Telcoin Platform
Telcoin Platform
TAN: Telcoin Distributor
The Telcoin Distributor allows funds from a Gnosis Safes to be used in transactions proposed by semi-trusted parties without requiring a snapshot vote. This is useful for regular maintenance tasks, like a weekly airdrop for example.
System Overview
The Telcoin Distributor allows Safe Wallets to execute transactions proposed by semi-trusted parties without requiring a snapshot vote. This is useful for regular maintenance tasks, like a weekly airdrop for example.
In Telcoin Governance, each individual council member is considered untrusted or semi-trusted, but a supermajority of any council is considered trusted. To expedite regular maintenance transactions, the Telcoin Distributor allows any one council member to propose a transaction to be executed by their Safe Wallet. However, because they are individually untrustworthy, their proposed transaction is subject to a delay called the “challenge period.” During the challenge period, any other council member can challenge the transaction if it is malicious, preventing its execution.
How it Works
The Telcoin Distributor contract is deployed for each council that uses this mechanism, and it is added as a module to their Gnosis Safe.
The Telcoin Distributor has CouncilMember role that allows proposal creation and the challenge of a proposal. Proposed transactions receive funds from the Gnosis Safe. Challengers are able to challenge transactions during the challenge period.
This specific implementation of the contract defines Council NFT holders as proposers and challengers. The challenge period duration is 72 hours, this value can be changed.
To perform a transaction without going through a Snapshot vote, a proposer calls proposeTransaction. After the proposal is made, the transaction is added to a list of proposed transactions which can be accessed via proposedTransactions(uint256). The transaction is now in the challenge period.
During the challenge period, a challenger can call challengeTransaction to prevent it from being executed. If a challenge is made the proposal can no longer be executed and must be resubmitted or go through the snapshot protocol.
Finally, once the challenge period of a transaction has elapsed and it has not been challenged, it is executable.