Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.

fix: correctly close ws connection in web3-eth-contract integration tests#7338

Merged
krzysu merged 14 commits into4.xfrom
7231-contract-integration-test
Nov 11, 2024
Merged

fix: correctly close ws connection in web3-eth-contract integration tests#7338
krzysu merged 14 commits into4.xfrom
7231-contract-integration-test

Conversation

@krzysu
Copy link
Contributor

@krzysu krzysu commented Oct 17, 2024

Description

Correctly close ws connection in web3-eth-contract integration tests

Fixes #7231

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

  • I have selected the correct base branch.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.
  • Any dependent changes have been merged and published in downstream modules.
  • I ran npm run lint with success and extended the tests and types if necessary.
  • I ran npm run test:unit with success.
  • I ran npm run test:coverage and my test cases cover all the lines and branches of the added code.
  • I ran npm run build and tested dist/web3.min.js in a browser.
  • I have tested my code on the live network.
  • I have checked the Deploy Preview and it looks correct.
  • I have updated the CHANGELOG.md file in the root folder.
  • I have linked Issue(s) with this PR in "Linked Issues" menu.

@github-actions
Copy link

github-actions bot commented Oct 17, 2024

Bundle Stats

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
10 649.88 kB 0%

Changeset

No files were changed

View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

No assets were bigger

Smaller

No assets were smaller

Unchanged

Asset File Size % Changed
web3.min.js 630.33 kB 0%
../lib/commonjs/index.d.ts 8.72 kB 0%
../lib/commonjs/accounts.d.ts 3.93 kB 0%
../lib/commonjs/types.d.ts 2.67 kB 0%
../lib/commonjs/web3.d.ts 1.38 kB 0%
../lib/commonjs/web3_eip6963.d.ts 1.28 kB 0%
../lib/commonjs/abi.d.ts 1.06 kB 0%
../lib/commonjs/eth.exports.d.ts 280 B 0%
../lib/commonjs/providers.exports.d.ts 183 B 0%
../lib/commonjs/version.d.ts 60 B 0%

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark

Details
Benchmark suite Current: d238442 Previous: efac906 Ratio
processingTx 22426 ops/sec (±8.47%) 23741 ops/sec (±5.98%) 1.06
processingContractDeploy 42533 ops/sec (±7.07%) 39369 ops/sec (±11.37%) 0.93
processingContractMethodSend 16981 ops/sec (±7.27%) 17405 ops/sec (±6.68%) 1.02
processingContractMethodCall 28505 ops/sec (±7.48%) 28770 ops/sec (±6.60%) 1.01
abiEncode 46333 ops/sec (±6.92%) 44377 ops/sec (±8.86%) 0.96
abiDecode 31041 ops/sec (±8.09%) 31118 ops/sec (±7.50%) 1.00
sign 1595 ops/sec (±0.49%) 1604 ops/sec (±0.56%) 1.01
verify 364 ops/sec (±2.97%) 369 ops/sec (±2.79%) 1.01

This comment was automatically generated by workflow using github-action-benchmark.

@codecov
Copy link

codecov bot commented Oct 17, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.51%. Comparing base (07993c2) to head (1450b8b).
Report is 2 commits behind head on 4.x.

Additional details and impacted files
@@           Coverage Diff           @@
##              4.x    #7338   +/-   ##
=======================================
  Coverage   94.51%   94.51%           
=======================================
  Files         218      218           
  Lines        8557     8557           
  Branches     2363     2363           
=======================================
  Hits         8088     8088           
  Misses        469      469           
Flag Coverage Δ
UnitTests 94.51% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

@krzysu krzysu force-pushed the 7231-contract-integration-test branch from fe60f0c to f0c36ff Compare October 21, 2024 08:13
@krzysu krzysu force-pushed the 7231-contract-integration-test branch from f0c36ff to 7633c3c Compare October 21, 2024 08:31
@krzysu krzysu force-pushed the 7231-contract-integration-test branch from 7633c3c to e9afeb5 Compare October 21, 2024 08:50
@krzysu krzysu force-pushed the 7231-contract-integration-test branch from e9afeb5 to f2e11d6 Compare October 21, 2024 09:16
@krzysu krzysu force-pushed the 7231-contract-integration-test branch from f2e11d6 to 1100490 Compare October 21, 2024 09:28
@krzysu krzysu force-pushed the 7231-contract-integration-test branch from 1100490 to fa3f764 Compare October 21, 2024 09:43
@krzysu krzysu force-pushed the 7231-contract-integration-test branch 11 times, most recently from 95f4f29 to 53cb976 Compare October 21, 2024 13:26
@krzysu krzysu force-pushed the 7231-contract-integration-test branch 8 times, most recently from a2f3782 to 6433db8 Compare November 1, 2024 16:24
export const createLocalAccount = async (web3: Web3) => {
const account = web3.eth.accounts.create();
await refillAccount((await createTempAccount()).address, account.address, '10000000000000000');
await refillAccount((await createTempAccount()).address, account.address, '100000000000000000');
Copy link
Contributor Author

Choose a reason for hiding this comment

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

increase refill amount as often tests are failing because of not enough funds

(web3Context.provider as unknown as Web3BaseProvider).disconnect();

await new Promise(resolve => {
setTimeout(resolve, 1000);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

why to wait for 1s on each closeOpenConnection close?

scripts/geth.sh Outdated
npx wait-port -t 10000 "$WEB3_SYSTEM_TEST_PORT"
echo "docker run -d -p 3333:3333 ethereum/client-go:v1.13.14-amd64 --nodiscover --nousb --ws --ws.addr 0.0.0.0 --ws.port 3333 --http --http.addr 0.0.0.0 --http.port 3334 --allow-insecure-unlock --http.api personal,web3,eth,admin,debug,txpool,net --ws.api personal,web3,eth,admin,debug,miner,txpool,net --dev"
docker run -d -p 3333:3333 ethereum/client-go:v1.13.14-amd64 --nodiscover --nousb --ws --ws.addr 0.0.0.0 --ws.port 3333 --http --http.addr 0.0.0.0 --http.port 3333 --allow-insecure-unlock --http.api personal,web3,eth,admin,debug,txpool,net --ws.api personal,web3,eth,admin,debug,miner,txpool,net --dev
echo "docker run -d -p 3333:3333 ethereum/client-go:v1.14.10-amd64 --nodiscover --nousb --ws --ws.addr 0.0.0.0 --ws.port 3333 --http --http.addr 0.0.0.0 --http.port 3334 --allow-insecure-unlock --http.api personal,web3,eth,admin,debug,txpool,net --ws.api personal,web3,eth,admin,debug,miner,txpool,net --dev"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

upgrade geth to the latest versioned amd64 release I found, shall we just use the latest tag (client-go:latest-amd64)?
more: https://hub.docker.com/r/ethereum/client-go/tags

Copy link
Contributor

Choose a reason for hiding this comment

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

yes , use latest.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

issue created #7379
PR created #7380

@krzysu
Copy link
Contributor Author

krzysu commented Nov 6, 2024

With the upgraded version of Geth, some new errors have started to appear. For example, see: this build https://github.com/web3/web3.js/actions/runs/11702836716/job/32591923473
So I had to revert the geth version to the currently used one in the tests.

const url = getSystemTestProviderUrl();
const web3 = new Web3(url);
web3.registerPlugin(new HardhatPlugin());
// eslint-disable-next-line
Copy link
Contributor

Choose a reason for hiding this comment

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

I'll suggest to specify and disable exact lint error

Copy link
Contributor

Choose a reason for hiding this comment

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

and for above instances as well

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@jdevcs
Copy link
Contributor

jdevcs commented Nov 7, 2024

With the upgraded version of Geth, some new errors have started to appear. For example, see: this build https://github.com/web3/web3.js/actions/runs/11702836716/job/32591923473 So I had to revert the geth version to the currently used one in the tests.

pls see this in detail and open issue in geth,

@jdevcs
Copy link
Contributor

jdevcs commented Nov 7, 2024

PR looks good to me

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Web3-eth-contract tests update/fixes

3 participants