Skip to content

Saturn2 perf challenge - #1254

Open
0xfornax wants to merge 16 commits into
masterfrom
saturn2-perf-challenge
Open

0xfornax wants to merge 16 commits into
masterfrom
saturn2-perf-challenge

Conversation

@0xfornax

@0xfornax 0xfornax commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Adds Saturn 2 performance challenges for minipools and megapools, including batch submission, automatic defense and finalisation, and RPL bond settlement. Adds CLI/API commands to manage challenges and updates beacon proofs and exit handling for Saturn 2 compatibility.

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown

Coverage Report

@0xfornax
0xfornax marked this pull request as ready for review October 2, 2026 17:08
@0xfornax
0xfornax force-pushed the saturn2-perf-challenge branch from e89186d to 4303fb3 Compare October 4, 2026 23:41
@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown

Coverage Report

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

Coverage Report

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

Merging this branch changes the coverage (8 decrease, 8 increase)

Impacted Packages Coverage Δ 🤖
github.com/rocket-pool/smartnode/bindings/megapool 0.00% (ø)
github.com/rocket-pool/smartnode/bindings/minipool 0.00% (ø)
github.com/rocket-pool/smartnode/bindings/network 0.00% (ø)
github.com/rocket-pool/smartnode/bindings/utils 0.00% (ø)
github.com/rocket-pool/smartnode/rocketpool-cli/cli/verify-performance 0.95% (+0.95%) 👍
github.com/rocket-pool/smartnode/rocketpool-cli/megapool 0.05% (-0.01%) 👎
github.com/rocket-pool/smartnode/rocketpool-cli/minipool 0.00% (ø)
github.com/rocket-pool/smartnode/rocketpool-cli/node 0.00% (ø)
github.com/rocket-pool/smartnode/rocketpool/api/megapool 0.38% (+0.30%) 👍
github.com/rocket-pool/smartnode/rocketpool/api/minipool 0.10% (-0.02%) 👎
github.com/rocket-pool/smartnode/rocketpool/api/node 1.91% (-0.35%) 👎
github.com/rocket-pool/smartnode/rocketpool/api/performance 2.49% (+2.49%) 👍
github.com/rocket-pool/smartnode/rocketpool/node 0.41% (-0.10%) 👎
github.com/rocket-pool/smartnode/rocketpool/watchtower 0.61% (-0.14%) 👎
github.com/rocket-pool/smartnode/shared/services 0.87% (+0.62%) 👍
github.com/rocket-pool/smartnode/shared/services/beacon 7.29% (-2.02%) 👎
github.com/rocket-pool/smartnode/shared/services/beacon/client 0.33% (-0.08%) 👎
github.com/rocket-pool/smartnode/shared/services/config 7.33% (+1.16%) 👍
github.com/rocket-pool/smartnode/shared/services/performance 2.12% (+2.12%) 👍
github.com/rocket-pool/smartnode/shared/services/rocketpool 0.42% (+0.42%) 👍
github.com/rocket-pool/smartnode/shared/types/api 3.21% (-0.74%) 👎
github.com/rocket-pool/smartnode/shared/types/config 9.68% (+3.79%) 👍

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/rocket-pool/smartnode/bindings/megapool/beacon-state-verifier.go 0.00% (ø) 578 (+164) 0 578 (+164)
github.com/rocket-pool/smartnode/bindings/megapool/challenge-bonds.go 0.00% (ø) 1063 (+1063) 0 1063 (+1063)
github.com/rocket-pool/smartnode/bindings/megapool/performance-challenges.go 0.00% (ø) 1610 (+1610) 0 1610 (+1610)
github.com/rocket-pool/smartnode/bindings/megapool/performance-lifecycle.go 0.00% (ø) 1790 (+1790) 0 1790 (+1790)
github.com/rocket-pool/smartnode/bindings/megapool/performance-scan.go 0.00% (ø) 914 (+914) 0 914 (+914)
github.com/rocket-pool/smartnode/bindings/megapool/performance.go 0.00% (ø) 1448 (+1448) 0 1448 (+1448)
github.com/rocket-pool/smartnode/bindings/megapool/proof-bundle.go 0.00% (ø) 408 (+408) 0 408 (+408)
github.com/rocket-pool/smartnode/bindings/minipool/minipool-contract-v4.go 0.00% (ø) 6594 (+6594) 0 6594 (+6594)
github.com/rocket-pool/smartnode/bindings/network/exit.go 0.00% (ø) 4031 (+4031) 0 4031 (+4031)
github.com/rocket-pool/smartnode/bindings/utils/version-checker.go 0.00% (ø) 720 (+637) 0 720 (+637)
github.com/rocket-pool/smartnode/rocketpool-cli/cli/verify-performance/submit.go 0.00% (ø) 971 (+971) 0 971 (+971)
github.com/rocket-pool/smartnode/rocketpool-cli/cli/verify-performance/verify-performance.go 1.27% (+1.27%) 2825 (+2825) 36 (+36) 2789 (+2789) 👍
github.com/rocket-pool/smartnode/rocketpool-cli/megapool/commands.go 0.00% (ø) 3527 (+1133) 0 3527 (+1133)
github.com/rocket-pool/smartnode/rocketpool-cli/megapool/notify-final-balance.go 0.00% (ø) 4827 (+856) 0 4827 (+856)
github.com/rocket-pool/smartnode/rocketpool-cli/megapool/notify-validator-exit.go 0.00% (ø) 2450 (+468) 0 2450 (+468)
github.com/rocket-pool/smartnode/rocketpool-cli/megapool/verify-performance.go 0.00% (ø) 1284 (+1284) 0 1284 (+1284)
github.com/rocket-pool/smartnode/rocketpool-cli/minipool/commands.go 0.00% (ø) 2051 (+541) 0 2051 (+541)
github.com/rocket-pool/smartnode/rocketpool-cli/minipool/verify-performance.go 0.00% (ø) 1164 (+1164) 0 1164 (+1164)
github.com/rocket-pool/smartnode/rocketpool-cli/node/challenge-bonds.go 0.00% (ø) 1910 (+1910) 0 1910 (+1910)
github.com/rocket-pool/smartnode/rocketpool-cli/node/commands.go 0.00% (ø) 5366 (+1813) 0 5366 (+1813)
github.com/rocket-pool/smartnode/rocketpool-cli/node/performance-challenges.go 0.00% (ø) 2437 (+2437) 0 2437 (+2437)
github.com/rocket-pool/smartnode/rocketpool/api/megapool/challenge-performance.go 0.00% (ø) 62 (+62) 0 62 (+62)
github.com/rocket-pool/smartnode/rocketpool/api/megapool/dissolve-with-proof.go 0.00% (ø) 3792 (+615) 0 3792 (+615)
github.com/rocket-pool/smartnode/rocketpool/api/megapool/notify-final-balance.go 0.00% (ø) 3970 (-1167) 0 3970 (-1167)
github.com/rocket-pool/smartnode/rocketpool/api/megapool/notify-validator-exit.go 0.00% (ø) 4618 (+727) 0 4618 (+727)
github.com/rocket-pool/smartnode/rocketpool/api/megapool/routes.go 6.33% (+2.53%) 1326 (+381) 84 (+48) 1242 (+333) 👍
github.com/rocket-pool/smartnode/rocketpool/api/megapool/stake.go 0.00% (ø) 3852 (+625) 0 3852 (+625)
github.com/rocket-pool/smartnode/rocketpool/api/megapool/verify-performance.go 0.00% (ø) 3124 (+3124) 0 3124 (+3124)
github.com/rocket-pool/smartnode/rocketpool/api/minipool/routes.go 5.64% (-1.88%) 1135 (+364) 64 (+6) 1071 (+358) 👎
github.com/rocket-pool/smartnode/rocketpool/api/minipool/verify-performance.go 0.00% (ø) 2976 (+2976) 0 2976 (+2976)
github.com/rocket-pool/smartnode/rocketpool/api/node/challenge-bonds.go 0.13% (+0.13%) 3044 (+3044) 4 (+4) 3040 (+3040) 👍
github.com/rocket-pool/smartnode/rocketpool/api/node/performance-challenges.go 0.10% (+0.10%) 3939 (+3939) 4 (+4) 3935 (+3935) 👍
github.com/rocket-pool/smartnode/rocketpool/api/node/routes.go 6.02% (-1.47%) 69540 (+19053) 4185 (+405) 65355 (+18648) 👎
github.com/rocket-pool/smartnode/rocketpool/api/performance/challenges.go 2.49% (+2.49%) 2447 (+2447) 61 (+61) 2386 (+2386) 👍
github.com/rocket-pool/smartnode/rocketpool/node/check-megapool-exit-requests.go 0.00% (ø) 6792 (+6792) 0 6792 (+6792)
github.com/rocket-pool/smartnode/rocketpool/node/check-minipool-exit-requests.go 0.00% (ø) 7512 (+7512) 0 7512 (+7512)
github.com/rocket-pool/smartnode/rocketpool/node/defend-challenge-exit.go 0.00% (ø) 3893 (+852) 0 3893 (+852)
github.com/rocket-pool/smartnode/rocketpool/node/defend-challenge-performance.go 0.40% (+0.40%) 4231 (+4231) 17 (+17) 4214 (+4214) 👍
github.com/rocket-pool/smartnode/rocketpool/node/notify-final-balance.go 0.00% (ø) 4229 (+368) 0 4229 (+368)
github.com/rocket-pool/smartnode/rocketpool/node/notify-validator-exit.go 0.00% (ø) 4399 (+698) 0 4399 (+698)
github.com/rocket-pool/smartnode/rocketpool/node/performance-challenge-discovery.go 5.32% (+5.32%) 1316 (+1316) 70 (+70) 1246 (+1246) 👍
github.com/rocket-pool/smartnode/rocketpool/node/settle-challenge-bonds.go 0.00% (ø) 2515 (+2515) 0 2515 (+2515)
github.com/rocket-pool/smartnode/rocketpool/node/stake-megapool-validator.go 0.00% (ø) 4175 (+736) 0 4175 (+736)
github.com/rocket-pool/smartnode/rocketpool/watchtower/dissolve-invalid-credentials.go 0.00% (ø) 3145 (+606) 0 3145 (+606)
github.com/rocket-pool/smartnode/shared/services/beacon/client.go 8.94% (+1.50%) 302 (+60) 27 (+9) 275 (+51) 👍
github.com/rocket-pool/smartnode/shared/services/beacon/client/std-http-client.go 0.01% (+0.01%) 19419 (+4271) 1 (+1) 19418 (+4270) 👍
github.com/rocket-pool/smartnode/shared/services/beacon/client/types.go 2.13% (-0.50%) 564 (+108) 12 552 (+108) 👎
github.com/rocket-pool/smartnode/shared/services/config/smartnode-config.go 2.01% (+0.15%) 3880 (+866) 78 (+22) 3802 (+844) 👍
github.com/rocket-pool/smartnode/shared/services/head-beacon-state.go 5.06% (+5.06%) 790 (+790) 40 (+40) 750 (+750) 👍
github.com/rocket-pool/smartnode/shared/services/megapool-proofs.go 0.00% (ø) 2557 (+2557) 0 2557 (+2557)
github.com/rocket-pool/smartnode/shared/services/megapools.go 1.38% (+0.79%) 31887 (+10855) 440 (+316) 31447 (+10539) 👍
github.com/rocket-pool/smartnode/shared/services/performance-challenges.go 1.29% (+1.29%) 6453 (+6453) 83 (+83) 6370 (+6370) 👍
github.com/rocket-pool/smartnode/shared/services/performance/target-performance.go 2.12% (+2.12%) 11779 (+11779) 250 (+250) 11529 (+11529) 👍
github.com/rocket-pool/smartnode/shared/services/rocketpool/challenge-bonds.go 0.00% (ø) 124 (+124) 0 124 (+124)
github.com/rocket-pool/smartnode/shared/services/rocketpool/megapool.go 0.00% (ø) 2369 (+1301) 0 2369 (+1301)
github.com/rocket-pool/smartnode/shared/services/rocketpool/performance-challenges.go 0.00% (ø) 242 (+242) 0 242 (+242)
github.com/rocket-pool/smartnode/shared/services/rocketpool/performance-minipools.go 0.00% (ø) 364 (+364) 0 364 (+364)
github.com/rocket-pool/smartnode/shared/types/api/challenge-bonds.go 0.00% (ø) 0 0 0
github.com/rocket-pool/smartnode/shared/types/api/minipool.go 0.00% (ø) 0 0 0
github.com/rocket-pool/smartnode/shared/types/api/node.go 4.17% (-0.95%) 839 (+156) 35 804 (+156) 👎
github.com/rocket-pool/smartnode/shared/types/api/performance-challenges.go 0.00% (ø) 0 0 0
github.com/rocket-pool/smartnode/shared/types/config/network.go 9.38% (+2.45%) 320 (+60) 30 (+12) 290 (+48) 👍

Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code.

Changed unit test files

  • github.com/rocket-pool/smartnode/bindings/megapool/performance-challenges_test.go
  • github.com/rocket-pool/smartnode/bindings/megapool/performance-lifecycle_test.go
  • github.com/rocket-pool/smartnode/rocketpool-cli/cli/verify-performance/verify-performance_test.go
  • github.com/rocket-pool/smartnode/rocketpool/api/performance/challenges_test.go
  • github.com/rocket-pool/smartnode/rocketpool/node/performance-challenge-discovery_test.go
  • github.com/rocket-pool/smartnode/shared/services/config/networks-config_test.go
  • github.com/rocket-pool/smartnode/shared/services/final-balance-proofs_test.go
  • github.com/rocket-pool/smartnode/shared/services/head-beacon-state_test.go
  • github.com/rocket-pool/smartnode/shared/services/performance-challenges_test.go
  • github.com/rocket-pool/smartnode/shared/services/performance/challenge-rules_test.go
  • github.com/rocket-pool/smartnode/shared/services/performance/target-performance_test.go

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