Improve resolution in fractional calc in contract

This commit is contained in:
nolash
2021-06-07 17:49:22 +02:00
parent 5f69a1d7a1
commit 81ec2198aa
4 changed files with 25 additions and 10 deletions

File diff suppressed because one or more lines are too long

View File

@@ -8,7 +8,7 @@ from erc20_demurrage_token.sim import DemurrageTokenSimulation
logging.basicConfig(level=logging.INFO)
logg = logging.getLogger()
decay_per_minute = 0.00000050105908373373 # equals approx 2% per month
decay_per_minute = 0.00050105908373373 # equals approx 2% per month
# parameters for simulation object
settings = DemurrageTokenSettings()
@@ -17,7 +17,7 @@ settings.symbol = 'SIM'
settings.decimals = 6
settings.demurrage_level = int(decay_per_minute*(10**38))
#settings.period_minutes = 1 # 1 week in minutes
settings.period_minutes = 60*24*7*4
settings.period_minutes = 60*24*7
chain = 'evm:foochain:42'
cap = (10 ** 6) * (10 ** 12)

View File

@@ -39,6 +39,21 @@ class TestBasic(TestDemurrageDefault):
r = self.rpc.do(o)
def test_balance(self):
nonce_oracle = RPCNonceOracle(self.accounts[0], self.rpc)
c = DemurrageToken(self.chain_spec, signer=self.signer, nonce_oracle=nonce_oracle)
(tx_hash, o) = c.mint_to(self.address, self.accounts[0], self.accounts[1], 1024)
r = self.rpc.do(o)
o = receipt(tx_hash)
r = self.rpc.do(o)
self.assertEqual(r['status'], 1)
o = c.balance_of(self.address, self.accounts[1], sender_address=self.accounts[0])
r = self.rpc.do(o)
balance = c.parse_balance_of(r)
self.assertEqual(balance, 1024)
def test_apply_demurrage(self):
modifier = 10 * (10 ** 37)