tezos-reward-distributor-organization / tezos-reward-distributor

Tezos Reward Distributor (TRD): A reward distribution software for tezos bakers.
https://tezos-reward-distributor-organization.github.io/tezos-reward-distributor/
GNU General Public License v3.0
87 stars 50 forks source link

Feature Request: Sales Commission #172

Open crmn111 opened 4 years ago

crmn111 commented 4 years ago

First off, thanks for writing this open source software, it's great.

My question is; Is it possible to use a founders_map specific to certain delegates, that overrides the default founders_map. So for example this way you could set a payout of a sales commission for certain delegates but by default you wouldn't payout this,

if this founders_map for the delegate isn't specified it will default to the base founders_map.

Is it possible to use owners_map, supporters_set or specials_map for this ?

If this is not possible at the moment i would like to do a feature request for this.

habanoz commented 4 years ago

Currently there is no relationship with founders map and delegates. This needs to be implemented. However, I do not believe this should be implemented. Payout of sales commission is not something related to baking payouts.

If may understanding is not correct, please give more details.

jdsika commented 4 years ago

I agree that sales commissions should be separate transactions as it also has to be handled differently in the accounting logic. You should not e.g. "pay out more because the delegate is getting x% from someone else" or similar. The commission is taxed diffenretly then earnings from staking.

jdsika commented 4 years ago

I will leave this open to keep the discussion going but consider this a low priority with an expected volunteer to make an implementation suggestion

jdsika commented 3 years ago

This feature is imo dependend on the #242 as part of the solution. I would consider a sales commission following this procedure: 1) delegate A is staking with baker B 2) A has a way of recruiting another delegate C to also stake with B (affiliate link) 3) The way to memorize this affiliation on would need a on chain registry 4) B would offer the affiliate link and the conditions attached "A will get 10% of the fees generated by C belonging to B" 5) TRD needs the feature to read the on chain registry and checks preconditions "are A and C still staking with B" 6) TRD generates a separate payout file which contains the log of a separate transaction regarding the commission derived before

@dansan566 could you comment on the proposed process please?

crmn111 commented 3 years ago

That sounds perfect, onchain affiliate system!

dansan566 commented 3 years ago

@jdsika Does it has to be on-chain? Wouldn't off-chain be much simpler?

utdrmac commented 3 years ago

I agree with dansan, why does this affiliate relationship need to be on chain? If I'm baker B, I can simply add a map entry to TRD with affiliate A's address as the key and delegator C as the value. Even if it was on-chain data, baker B would be required to keep the smart contract (or whatever) up to date, just like editing a config file.