erc20-demurrage-token

ERC20 token with redistributed continual demurrage
Log | Files | Refs | README

commit 0f816ebdc56d28912991a539df11328e6f1ed708
parent cf6fd57672def9eec9e884ac0321f4b73b53a358
Author: Louis Holbrook <accounts-gitlab@holbrook.no>
Date:   Sat,  6 Feb 2021 14:48:40 +0000

Merge branch 'lash/use-timestamps' into 'master'

Correct base amount on mint

See merge request grassrootseconomics/sarafu-token!5
Diffstat:
Mpython/tests/test_redistribution.py | 2+-
Msolidity/RedistributedDemurrageToken.sol | 5++++-
2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/python/tests/test_redistribution.py b/python/tests/test_redistribution.py @@ -147,7 +147,7 @@ class Test(unittest.TestCase): r = self.w3.eth.getTransactionReceipt(tx_hash) # No cheating! self.contract.functions.transfer(self.w3.eth.accounts[3], spend_amount).transact({'from': self.w3.eth.accounts[3]}) - # Cheapskate! + # No cheapskating! self.contract.functions.transfer(external_address, spend_amount-1).transact({'from': self.w3.eth.accounts[4]}) self.assertEqual(r.status, 1) diff --git a/solidity/RedistributedDemurrageToken.sol b/solidity/RedistributedDemurrageToken.sol @@ -117,12 +117,15 @@ contract RedistributedDemurrageToken { // Creates new tokens out of thin air, and allocates them to the given address // Triggers tax function mintTo(address _beneficiary, uint256 _amount) external returns (bool) { + uint256 baseAmount; + require(minter[msg.sender]); applyDemurrage(); changePeriod(); + baseAmount = _amount; totalSupply += _amount; - increaseBaseBalance(_beneficiary, _amount); + increaseBaseBalance(_beneficiary, baseAmount); emit Mint(msg.sender, _beneficiary, _amount); saveRedistributionSupply(); return true;