Skip to content

Commit

Permalink
Merge pull request #444 from oasisprotocol/matevz/fix/flaky-siwe-gascost
Browse files Browse the repository at this point in the history
contracts/tests: Fix flaky SIWE and gas cost
  • Loading branch information
CedarMist authored Oct 24, 2024
2 parents 77c1abe + 6e142c6 commit a665ff3
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
13 changes: 9 additions & 4 deletions contracts/test/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,15 @@ describe('Auth', function () {
siweStr4,
await erc191sign(siweStr4, account),
);
// Wait until the next second after expiration
await delay(expiration.getTime() - Date.now() + 1000);
const tx = await siweAuthTests.doNothing();
await tx.wait();
// Wait until the block time is greater than the expiration date
await new Promise<void>((resolve, reject) => {
ethers.provider.on('block', async (blockNumber) => {
const ts = (await ethers.provider.getBlock(blockNumber))!.timestamp;
if (ts * 1000 > expiration.getTime()) {
resolve();
}
});
});
await expect(siweAuthTests.testVerySecretMessage(bearer4)).to.be.reverted;

// Revoke bearer.
Expand Down
5 changes: 4 additions & 1 deletion contracts/test/gas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,11 @@ describe('Gas Padding', function () {

// Note: calldata isn't included in gas padding
// Thus when the value is 0 it will use 4 gas instead of 16 gas
// TODO: Workaround for flaky gas used https://github.com/oasisprotocol/sapphire-paratime/issues/337.
tx = await contract.testConstantTime(0, 100000);
receipt = await tx.wait();
expect(receipt?.cumulativeGasUsed).eq(initialGasUsed - 12n);
expect(receipt?.cumulativeGasUsed)
.gte(initialGasUsed - 13n)
.lte(initialGasUsed - 12n);
});
});

0 comments on commit a665ff3

Please sign in to comment.