Skip to content

Add High-Volume Delegation Stress Tests and Gas Usage Benchmarking to Votes.test.js #5841

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sohamsk13
Copy link

This PR enhances the Votes.test.js suite by introducing stress tests to evaluate gas cost and performance under heavy delegation loads.
It addresses the lack of coverage for scenarios involving large numbers of delegation operations in short timeframes, which can be critical in high-traffic voting environments.

Key changes:

Functional Fixes:

Removed ethers.Typed.address() usage and replaced with .address.

Used .connect() for correct signer delegation calls.

New Stress Test Scenarios:

Mass Single-Delegate Delegation: 100+ accounts delegate to a single address, logging total gas usage.

Cross-Delegation: Each account delegates to the next, measuring total gas usage.

Same-Block Delegation: Multiple delegations batched into one block by disabling automining.

Impact:

Enables performance profiling for large-scale delegation events.

Helps identify potential gas optimizations in the delegation logic.

Provides baseline metrics for comparing improvements in future contract iterations.

… Votes.test.js

This PR enhances the Votes.test.js suite by introducing stress tests to evaluate gas cost and performance under heavy delegation loads.
It addresses the lack of coverage for scenarios involving large numbers of delegation operations in short timeframes, which can be critical in high-traffic voting environments.

Key changes:

Functional Fixes:

Removed ethers.Typed.address() usage and replaced with .address.

Used .connect() for correct signer delegation calls.

New Stress Test Scenarios:

Mass Single-Delegate Delegation: 100+ accounts delegate to a single address, logging total gas usage.

Cross-Delegation: Each account delegates to the next, measuring total gas usage.

Same-Block Delegation: Multiple delegations batched into one block by disabling automining.

Impact:

Enables performance profiling for large-scale delegation events.

Helps identify potential gas optimizations in the delegation logic.

Provides baseline metrics for comparing improvements in future contract iterations.
@sohamsk13 sohamsk13 requested a review from a team as a code owner August 11, 2025 04:39
Copy link

changeset-bot bot commented Aug 11, 2025

⚠️ No Changeset found

Latest commit: 26702c7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant