Use uint32 for kreditsWithdrawn
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

Same as the properties and functions in the Contribution contract
This commit is contained in:
Râu Cao 2022-08-27 10:29:56 +02:00
parent e99184b83f
commit 5da710cc14
Signed by: raucao
GPG Key ID: 15E65F399D084BA9
2 changed files with 4 additions and 6 deletions

View File

@ -22,7 +22,7 @@ contract Contributor is Initializable {
uint8 hashFunction; uint8 hashFunction;
uint8 hashSize; uint8 hashSize;
bool exists; bool exists;
uint256 kreditsWithdrawn; uint32 kreditsWithdrawn;
} }
mapping (address => uint32) public contributorIds; mapping (address => uint32) public contributorIds;
@ -160,8 +160,8 @@ contract Contributor is Initializable {
Contributor storage c = contributors[id]; Contributor storage c = contributors[id];
// TODO check if we need a failsafe for unconfirmed or malicious txs // TODO check if we need a failsafe for unconfirmed or malicious txs
uint256 confirmedKredits = contributionContract.totalKreditsEarnedByContributor(id, true); uint32 confirmedKredits = contributionContract.totalKreditsEarnedByContributor(id, true);
uint256 amountWithdrawable = confirmedKredits - c.kreditsWithdrawn; uint32 amountWithdrawable = confirmedKredits - c.kreditsWithdrawn;
require (amountWithdrawable > 0, "No kredits available"); require (amountWithdrawable > 0, "No kredits available");
c.kreditsWithdrawn += amountWithdrawable; c.kreditsWithdrawn += amountWithdrawable;

View File

@ -95,10 +95,8 @@ describe("Contributor contract", async function () {
expect(c['balance']).to.equal(0); expect(c['balance']).to.equal(0);
await Contributor.connect(addr1).withdraw(); await Contributor.connect(addr1).withdraw();
c = await Contributor.getContributorById(2); c = await Contributor.getContributorById(2);
// TODO Are we required to use Wei for ERC20 tokens?
expect(c['balance'].toString()).to.equal("6500000000000000000000"); expect(c['balance'].toString()).to.equal("6500000000000000000000");
// FIXME This is also a BigNumber (uint256), but stored at Wei reolution expect(c['kreditsWithdrawn']).to.equal(6500);
expect(c['kreditsWithdrawn'].toString()).to.equal('6500');
}); });
it("requires the withdrawable amount to be larger than 0", async function () { it("requires the withdrawable amount to be larger than 0", async function () {