Skip to content

Commit

Permalink
Add more gas cost tests for ReputationBootstrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
kronosapiens committed Nov 26, 2022
1 parent f9c748c commit c7d1f37
Showing 1 changed file with 35 additions and 8 deletions.
43 changes: 35 additions & 8 deletions test-gas-costs/gasCosts.js
Original file line number Diff line number Diff line change
Expand Up @@ -377,30 +377,57 @@ contract("All", function (accounts) {
await reputationBootstrapper.install(colony.address);
await colony.setRootRole(reputationBootstrapper.address, true);

const secret = 1;
await reputationBootstrapper.setGrants([false], [soliditySha3(secret)], [WAD], { from: MANAGER });
await reputationBootstrapper.setGrants(
[false, false, false, false, false],
[soliditySha3(1), soliditySha3(2), soliditySha3(3), soliditySha3(4), soliditySha3(5)],
[WAD, WAD, WAD, WAD, WAD],
{ from: MANAGER }
);

await reputationBootstrapper.commitSecret(soliditySha3(WORKER, 1), { from: WORKER });
await forwardTime(SECONDS_PER_HOUR, this);

await reputationBootstrapper.claimGrant(false, 1, { from: WORKER });
});

it("when bootstrapping reputation with tokens", async function () {
const reputationBootstrapper = await ReputationBootstrapper.new();
await reputationBootstrapper.install(colony.address);
await colony.setRootRole(reputationBootstrapper.address, true);

await reputationBootstrapper.commitSecret(soliditySha3(WORKER, secret), { from: WORKER });
await token.mint(reputationBootstrapper.address, WAD.muln(10));
await reputationBootstrapper.setGrants(
[true, true, true, true, true],
[soliditySha3(1), soliditySha3(2), soliditySha3(3), soliditySha3(4), soliditySha3(5)],
[WAD, WAD, WAD, WAD, WAD],
{ from: MANAGER }
);

await reputationBootstrapper.commitSecret(soliditySha3(WORKER, 1), { from: WORKER });
await forwardTime(SECONDS_PER_HOUR, this);

await reputationBootstrapper.claimGrant(false, secret, { from: WORKER });
await reputationBootstrapper.claimGrant(true, 1, { from: WORKER });
});

it("when bootstrapping reputation with decay", async function () {
const reputationBootstrapper = await ReputationBootstrapper.new();
await reputationBootstrapper.install(colony.address);
await colony.setRootRole(reputationBootstrapper.address, true);

const secret = 1;
await reputationBootstrapper.setGrants([false], [soliditySha3(secret)], [WAD], { from: MANAGER });
await reputationBootstrapper.setGrants(
[false, false, false, false, false],
[soliditySha3(1), soliditySha3(2), soliditySha3(3), soliditySha3(4), soliditySha3(5)],
[WAD, WAD, WAD, WAD, WAD],
{ from: MANAGER }
);

await reputationBootstrapper.commitSecret(soliditySha3(WORKER, secret), { from: WORKER });
await reputationBootstrapper.commitSecret(soliditySha3(WORKER, 1), { from: WORKER });
await forwardTime(SECONDS_PER_HOUR, this);

// Reputation decays by half in 90 days
await forwardTime(SECONDS_PER_DAY * 90, this);

await reputationBootstrapper.claimGrant(false, secret, { from: WORKER });
await reputationBootstrapper.claimGrant(false, 1, { from: WORKER });
});
});
});

0 comments on commit c7d1f37

Please sign in to comment.