iov-one / weave

Easy-to-use SDK to build Tendermint ABCI applications
https://weave.iov.one/docs/intro.html
Other
1.12k stars 46 forks source link

CLI tool to create a transfer from the guarantee fund to the distribution fund proposal #626

Closed kmw101 closed 5 years ago

kmw101 commented 5 years ago

A CLI command that is for use by an authorised person that sets the amount to be transferred to the distribution (or reward) fund from the reward guarantee fund.

The output is a proposal that the Governing Board then vote on to accept/reject/abstain.

ruseinov commented 5 years ago

Some clarifications/questions:

  1. I suppose this is blocked by https://github.com/iov-one/weave/pull/621 , so we should get gov actions done first in order to be able to execute arbitrary operations.
  2. Currently anyone can create a proposal, so I suppose we just need to supply the ability to specify Author address to the cli in order for this to work + add a custom action logic so that if the proposal passes things get executed.
kmw101 commented 5 years ago

Some answers:

  1. You can probably build most of this while the #621 is being worked on.
  2. Agree that the creator needs identifying, and that there needs to be some logic to execute on approval (new transaction type?)
ruseinov commented 5 years ago

@ethanfrey I guess it'd be cool if you chipped in here ^^

  1. I don't really see how we can work on that prior to having some interface to execute actions via proposals as well as creating said proposals.
  2. How does the authentication on such an operation work? I think that has been discussed in https://github.com/iov-one/weave/pull/621 somewhere.
ethanfrey commented 5 years ago

Just now...

I am working on a generic action dispatcher upon governance votes, so you can imagine them triggering any subset of handlers that we decide to enable.

I would consider the simple design this:

  1. "Reward guaranatee fund" is an escrow. Sender is burn address (000000) Recipient is "Reward fund" (see below) Arbiter is a governance vote (from group A - makeup and threshold TBD) Timeout is some years out when we want to end the guarantees

-> thus group A can release money to the "reward fund" when they want, or burn it. But nothing else.

  1. "Reward fund" is a normal cash account, controlled by governance vote B (make address from that condition) -> Collected fees get sent here -> "Top ups" approved by group A go here -> Group B can distribute these amounts to the validators (or themselves) as they see fit using Batch/SendMsg proposals

Does this make sense?

ethanfrey commented 5 years ago
  1. I don't really see how we can work on that prior to having some interface to execute actions via proposals as well as creating said proposals.

Yup, that is high on my todo list, only delayed by moving

  1. How does the authentication on such an operation work? I think that has been discussed in #621 somewhere.

I would suggest creating a condition for each vote, that can then be a generic address to control many items, just like MultiSig works.

husio commented 5 years ago

I understand that this issue is about providing a command line tool with which one can create a voting proposal for a transfer/move of coins from one address to another.

By now, I think we have all the functionality in place. Only the command line interface is missing.

ethanfrey commented 5 years ago

We should just define the interface for the cli tool

alpe commented 5 years ago

With Ethans proposal we would have 2 gov proposals:

Does this CLI tool cover both?

ethanfrey commented 5 years ago

In theory, if group A and group B are the same, we can do them in one batch proposal.

Does anyone want to tease out the exact workflow from the constitution doc? :see_no_evil:

kmw101 commented 5 years ago

The constitution has an economic committee (appointed and managed by the Governing Board).

The purpose of the economic committee is as follows:

There are two groups who have rewards distributed to them, namely Validators and Depositors.

Both groups have a weighting applied to them through an off-chain process. The lists can be combined as they have the same information, namely address and weight and it is managed by the economic committee. This is covered by issue #625

The economic committee are responsible for transferring an amount (decided off-chain) from the Guarantee Fund to the reward fund. (Propose an amount and then vote on it).

While from a tech perspective, one batch would be cleaner for transparency it is wiser to separate the transfer from the Guarantee fund to the Reward fund from the mechanism of distribution.