Skip to content

replaced http client with go-ethereum client#45

Merged
pompon0 merged 5 commits into
mainfrom
gprusak-ws
Jun 12, 2026
Merged

replaced http client with go-ethereum client#45
pompon0 merged 5 commits into
mainfrom
gprusak-ws

Conversation

@pompon0

@pompon0 pompon0 commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

It automatically adds support for WS connections.
Additionally simplified shared sender a bit.
Renamed Workers to to TasksPerEndpoint, because it was super misleading. The json field name stays "workers" for backward compatiblity.

@cursor

cursor Bot commented Jun 12, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Core load-test send path and metrics semantics change (no http_errors, RPC errors only); behavior should be equivalent for HTTP endpoints but WS and error classification need validation.

Overview
Transaction submission no longer posts hand-built JSON-RPC over HTTP; workers dial once per endpoint via newRPCClient and send with ethclient.SendTransaction, so HTTP(S) still uses the tuned otelhttp transport while WS(S) endpoints work without a separate code path. Receipt polling reuses the same client instead of dialing again in the watcher.

ShardedSender is trimmed: settings and the stats collector are passed at construction through WorkerConfig, and the post-create setter chain (SetDryRun, SetStatsCollector, etc.) is removed. Settings.Workers is renamed to TasksPerEndpoint (JSON/config key workers unchanged); ResolveSettings now returns a pointer and main keeps resolved settings on cfg.Settings.

Observability shifts with the transport change: the http_errors counter is dropped and rejections are labeled reason=rpc instead of HTTP status. Shared TPS limiting uses Limiter.Wait rather than skipping when Allow is false.

Reviewed by Cursor Bugbot for commit 1680c99. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 8be5422. Configure here.

Comment thread sender/sharded_sender.go
Comment thread sender/worker.go
@pompon0 pompon0 requested a review from bdchatham June 12, 2026 15:05
@pompon0 pompon0 merged commit 0aa2c09 into main Jun 12, 2026
4 checks passed
@pompon0 pompon0 deleted the gprusak-ws branch June 12, 2026 16:09
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.

2 participants