Skip to content

Parquet docker integration tests#3054

Open
jewei1997 wants to merge 2 commits intomainfrom
integration-test-parquet
Open

Parquet docker integration tests#3054
jewei1997 wants to merge 2 commits intomainfrom
integration-test-parquet

Conversation

@jewei1997
Copy link
Contributor

@jewei1997 jewei1997 commented Mar 11, 2026

Describe your changes and provide context

Right now, our integration tests spin up docker containers with pebbledb as receiptdb, which is currently used in mainnet. We do not have integration tests that test the parquet implementation of receiptdb. This PR adds that. Once parquet is sufficiently rolled out, we will deprecate these tests and have the default integration tests use parquet.

Testing performed to validate your change

integration tests.

@github-actions
Copy link

github-actions bot commented Mar 11, 2026

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedMar 11, 2026, 3:31 PM

for (let i = 0; i < numTxs; i++) {
const tx = evmTester.setUint256Var(i + 1000, {
gasPrice: ethers.parseUnits("100", "gwei"),
nonce: await owner.getNonce() + i,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from ai:

getNonce() returns the pending nonce count by default in ethers v6. If the provider's pending pool updates between loop iterations (e.g., after the first tx is sent), getNonce() may already reflect the pending tx, causing getNonce() + i to skip nonce values.

Fix: Capture the base nonce once before the loop:

const { expect } = require("chai");
const hre = require("hardhat");
const { ethers } = hre;
const { deployEvmContract, setupSigners, fundAddress } = require("./lib");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fundAddress is unsed


before(async function () {
contractAddress = await evmTester.getAddress();
await sleep(3000); // wait for a fresh block
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 seconds it may be too long, how about

const startBlock = await ethers.provider.getBlockNumber();
while ((await ethers.provider.getBlockNumber()) === startBlock) {
  await sleep(500);
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants