GoodContracts icon indicating copy to clipboard operation
GoodContracts copied to clipboard

Store the entire amount of tokens given to a given user

Open vporton opened this issue 4 years ago • 2 comments

Motivation

I want to be able to create "mirror" ERC-20 tokens of the $G token.

Consider a journalism support project: Everybody is given free ads in amount proportional to G$ tokens he has.

But I do not want him to spend his G$ tokens on displaying ads. I want that after the ads for him are displayed, he has the same amount of G$ as he had before.

Details

To implement this, you need to store the amount of G$ the user has received from the UBI, not subtracting from this amount the amount that he sent to other users.

Then I would be able to create a ERC-20 contract that mirrors G$ UBI but the money are spent in a different way. (It would query your contract (external function call) for received from UBI money and calculate expenses independently and just subtract the second number from the first when calculating the balance.) The spendings e.g. for food and for journalism should be independent.

It is easy to modify your contracts to support this. Should I provide a pull request? I am unsure how you deploy new versions of contracts. I see no support for upgradeable contracts. Do you support this?

vporton avatar Sep 19 '20 17:09 vporton

the place to add that would be in the UBIScheme contract but once this contract is replaced the count of how much UBI each user got will restart

sirpy avatar Sep 20 '20 21:09 sirpy

@sirpy I've already implemented this feature in GoodDollar.sol without touching UBIScheme. I think, my implementation s fine (particularly has no problem with "restart" that you mentioned).

vporton avatar Sep 20 '20 21:09 vporton