Repository navigation
Major Changes
- Replaced go-ethereum
core/typeswith a self-containedtxtypespackage (own transaction/receipt types, RLP codec, signer, JSON marshalling and a runtime tx type registry) - Added EIP-8141 frame transaction support with the new
frametxandframetx-fuzzscenarios (all envelope shapes incl. POST_TX, keyed nonces, contract senders/paymasters, coverage-driven fuzzing, chain support detection) - Added exclusive client groups:
group(-name)removes a client from a group so reserved clients are only reachable via their group - Fixed several concurrency and nonce tracking bugs (atomic spammer start, compare-and-swap nonce advancement, skipped nonce reuse, ClientPool selection safety, funding underflow, batcher deploy state, blocking batch errors)
- Sized
erc20_bloaterbatches for Amsterdam state-creation gas and improvedtx-fuzzthroughput with stuck tx replacement - Bumped minimum Go version to 1.26 and updated the Authenticatoor client for shared session management and background token refresh
Full changelog
Full changelog
- 753b08c Merge pull request #281 from ethpandaops/pk910/frametx-fuzz
- d92d2b8 Read keyed nonce slots outside the ledger lock
- a2c6299 Reserve keyed nonce slots in flight and fix keyless confirm in frametx-fuzz
- 4e5559b Keep keyed nonces out of the account-nonce skip list and pair sorted keys with slots
- 46bb302 Drop unused symbols in frametx-fuzz flagged by staticcheck
- daca4a9 Merge remote-tracking branch 'origin/master' into pk910/frametx-fuzz
- 56fcf9e Merge pull request #284 from ethpandaops/dependabot/go_modules/dependencies-69c415d369
- a57572a Merge branch 'master' into dependabot/go_modules/dependencies-69c415d369
- 415012e Merge pull request #287 from ethpandaops/pk910/go-1.26
- f2825ae Bump minimum Go version to 1.26
- d7b183a Drop dead nonce increments in xentoken deployment
- 0819e2c Merge pull request #283 from ethpandaops/qu0b/exclusive-client-groups
- a0e9020 Merge branch 'master' into qu0b/exclusive-client-groups
- 74e0a6f Merge pull request #286 from ethpandaops/pk910/combined-fixes
- 7a56f71 Release erc20_bloater nonces of txs that failed at submission
- 12cbc65 Use the compare-and-swap helper in SetNonce as well
- cff98b0 Size erc20_bloater batches for Amsterdam state-creation gas
- 83af687 Call OnComplete when submission is skipped for a cancelled context
- 8285493 Release the spammer map lock while pausing a spammer on delete
- 2f9ec82 Credit child wallets when funding without a batcher
- 017a808 Advance the pending nonce counter with compare-and-swap on confirmation
- 0d62005 Signal batch errors without blocking failed sub-goroutines
- f366833 build(deps): bump the dependencies group across 1 directory with 2 updates
- da4ac77 update frame transactions to latest format
- 9bfe85f test: selection-level proof that a reserved client is unreachable without its group
- e88c6db feat(client): group(-name) removes a client from a group
- ccef3e7 spammer-configs: frame transaction readiness ladder
- d3ec2be frametx-fuzz: fuzz contract senders and paymasters with reclaimed funding
- 7aef2bb spamoor: watch untracked transactions by hash
- db9bee9 frametx-fuzz: fuzz the sender and paymaster roles
- 4c5efd6 frametx-fuzz: deploy and call fuzzed contracts from frames
- 0043c6a frametx-fuzz: fuzz frame transactions by coverage, not by verdict
- c7f1978 frametx: take frame support from the txpool
- b6c07cb utils: share the deterministic fuzzing generator
- 4b94094 spamoor: frame transaction support as a chain property
- 43aa6fe txtypes: keyed nonce and recent root protocol helpers
- 9ac9b69 frametx: detect chain support from state, not error text
- a62af37 frametx: cover POST_TX and every envelope shape
- 9caa915 Decode every frame envelope shape, and support POST_TX
- 9224b73 Merge pull request #278 from ethpandaops/dependabot/go_modules/dependencies-faf99c401a
- 2e6136c Merge branch 'master' into dependabot/go_modules/dependencies-faf99c401a
- 2b157f7 Merge pull request #279 from ethpandaops/pk910/eip-8141
- d35c83e Decode receipt logs without requiring their position
- 16a25fb Give Transaction and Receipt JSON marshalling
- b4261f9 Carry the log bloom and post state on receipts
- ab94126 Pin staticcheck in CI
- 972bef9 Add EIP-8141 frame transactions and the frametx scenario
- 622f582 Replace go-ethereum core/types with own txtypes package
- f64f96f chore: update generated Yaegi symbols
- dcd06c8 build(deps): bump the dependencies group across 1 directory with 7 updates
- f3b5828 Merge pull request #271 from damilolaedwards/fix/txbatcher-deploy-failure-burn
- 1165c8a Merge branch 'master' into fix/txbatcher-deploy-failure-burn
- 15cc40d Merge pull request #270 from damilolaedwards/fix/rootwallet-underflow-on-cancelled-wait
- 6861d42 Only mark the batcher deployed once it actually succeeds
- 661589e Fix pendingFundingTotal underflow on a cancelled funding wait
- 43cad30 Merge pull request #268 from damilolaedwards/fix/spammer-concurrent-start-crash
- d0200d0 Make spammer start atomic to stop a concurrent double-run crash
- 78c0305 Merge pull request #266 from damilolaedwards/fix/txscenario-count-without-notify
- 28bdcd4 Merge branch 'master' into fix/txscenario-count-without-notify
- 6e37984 Merge pull request #265 from damilolaedwards/fix/clientpool-selection-safety
- 2b1b9aa Merge branch 'master' into fix/clientpool-selection-safety
- f0ec1bc Merge pull request #264 from damilolaedwards/fix/reuse-skipped-nonce
- 5898cdd Fix inverted guard in MarkSkippedNonce so failed nonces are reused
- fa0e90f Count every processed transaction toward TotalCount
- 8bcfe67 Fix unsafe client selection in ClientPool
- d84b756 Merge pull request #261 from ethpandaops/dependabot/go_modules/dependencies-c4b80c69a0
- 22a7426 Merge branch 'master' into dependabot/go_modules/dependencies-c4b80c69a0
- 62dc274 Merge pull request #262 from ethpandaops/pk910/auth-v2
- a885974 update authenticatoor client for shared session management & background token refresh
- e3e5768 build(deps): bump github.com/fjl/geas in the dependencies group
- 6a4caa8 Merge pull request #259 from ethpandaops/pk910/fix-default-group
- ac1ca07 Merge branch 'master' into pk910/fix-default-group
- 299b464 fix
regular-erc1155spammer inregular-chain-loadgroup - e214fd1 Merge pull request #258 from ethpandaops/fix/tx-fuzz-unstuck
- f3dc905 tx-fuzz: throughput and coverage improvements
- 11e0fa8 tx-fuzz: replace stuck txs to keep wallets live
Release Artifacts
Please read through the wiki for setup & configuration instructions.
| Release File | Description |
|---|---|
| spamoor_1.2.4_windows_amd64.zip | spamoor executables for windows/amd64 |
| spamoor_1.2.4_linux_amd64.tar.gz | spamoor executables for linux/amd64 |
| spamoor_1.2.4_linux_arm64.tar.gz | spamoor executables for linux/arm64 |
| spamoor_1.2.4_darwin_arm64.tar.gz | spamoor executable for macos/arm64 |