refactor(core): remove the legacy reward wire-compat layer - #232
Open
rickyrombo wants to merge 1 commit into
Open
refactor(core): remove the legacy reward wire-compat layer#232rickyrombo wants to merge 1 commit into
rickyrombo wants to merge 1 commit into
Conversation
rickyrombo
force-pushed
the
mjp-remove-legacy-reward-types
branch
from
May 7, 2026 01:45
d2357cc to
5280ec0
Compare
rickyrombo
force-pushed
the
mjp-reward-pools-endpoints
branch
from
May 7, 2026 02:55
3cf1a9a to
8c4c696
Compare
rickyrombo
force-pushed
the
mjp-remove-legacy-reward-types
branch
from
May 7, 2026 02:57
5280ec0 to
03d9e91
Compare
rickyrombo
force-pushed
the
mjp-reward-pools-endpoints
branch
from
May 7, 2026 05:50
8c4c696 to
2188197
Compare
rickyrombo
force-pushed
the
mjp-remove-legacy-reward-types
branch
from
May 8, 2026 00:31
03d9e91 to
5420982
Compare
rickyrombo
force-pushed
the
mjp-reward-pools-endpoints
branch
from
May 8, 2026 01:12
2188197 to
2645ab1
Compare
This was referenced May 8, 2026
The pre-pool LegacyRewardMessage decode path, the sha256 legacy signing scheme, GetLaunchpadRMByAuthority and the launchpad_authority_rm table exist only to replay audius-mainnet-alpha-beta's historical reward bytes at block-sync time. audius-mainnet-beta was written by genesis-writer from table state and carries only pool-shaped reward transactions, so on it the layer is dead code. Reward messages without a body are now a plain error at both validation and finalize. Migration 00039 drops the table; 00034 is left as applied. The state-sync dump allowlist no longer names it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
rickyrombo
force-pushed
the
mjp-remove-legacy-reward-types
branch
from
September 9, 2026 03:55
d57928f to
d4d44de
Compare
rickyrombo
added a commit
that referenced
this pull request
Sep 9, 2026
… enforcement at step 10 Review fixes. The placeholder substitution had mangled OPENAUDIO_DELEGATE_PRIVATE_KEY in Appendix J; restored. Step 17 had bundled a pre-bootstrap prerequisite (#572) with a post-cutover cleanup (#232) under an "after 15" label; #572 now lives in step 3 with a rebase instruction, and step 17 is #232 alone. The enforcement checks move to the first migrated node in step 10 and name the real submission path and the real skew symptom (a commit timeout, not the pre-gate error text). Appendix C gains the claim-coverage check. Step 11 records, as unresolved, that the flusher stalls on the first post-snapshot track create under content auth. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reworked on top of
main(September 2026). The original branch was based on the closed reward-pools endpoints branch and its migration number collided with00034_reward_pools.sql.Removes the launchpad-era
CreateReward/DeleteRewardwire-compat layer. It exists so a node block-syncingaudius-mainnet-alpha-betafrom genesis can decode and apply the pre-pool reward bytes committed there.audius-mainnet-betawas written by genesis-writer from table state (#504) and carries only pool-shapedRewardPool/RewardBodytransactions, so on the new chain the layer is dead code.Sequencing: merge after runbook step 15, once every node has moved. It is not dead on the old chain — any node still block-syncing there needs it — and
mainships to the old chain as:stableuntil the rollover.What's removed
LegacyRewardMessage/LegacyCreateReward/LegacyDeleteRewardprotosCreateReward/DeleteRewardstay reserved.pkg/common/legacy_reward_signing.gopkg/core/server/rewards_legacy.go+ testtryParseLegacyRewardbranches inisValidRewardTransaction/finalizeRewardsBody == nilis a plain error at both validation and finalize.GetLaunchpadRMByAuthorityquerylaunchpad_authority_rmfrom the state-sync dump allowlistSchema
00039_drop_launchpad_authority_rm.sqldrops the table.00034is not edited — it has already been applied on every chain's database, and its backfill ran once. The Down recreates the table empty so00034's Down still finds it; the 72 mapping rows are not restored because no binary that runs this schema can read them.Verification
go build ./...clean;make regen-proto regen-core-sqloutput committed.go test ./pkg/core/server/ ./pkg/common/ ./pkg/rewards/...green;go test -c ./pkg/integration_tests/compiles.🤖 Generated with Claude Code