Repository navigation
primed: template budget — hold the split to the room a full template leaves - #84
Open
AwokenLazarus wants to merge 1 commit into
Open
AwokenLazarus wants to merge 1 commit into
AwokenLazarus wants to merge 1 commit into
Conversation
…leaves CONVOY v0.5.0beta fits every coinbase size class to its template. When the mempool fills a block to this chain's 800 000 weight units only the node's ~2 000-byte coinbase reserve is left and the class keeps the first 50 or so of 100+ payees: blocks 977088, 977570, 977906, 977949, 977993 were Partial that way (7 of 33 v0.5.0beta blocks and 65 of 179 v0.4.1-beta ones in the week to 2026-10-19), each owing the rest through a 6 480-block make-good. template-budget = true (with class-budget-fee-wallet-reserves) sizes each reply to the payee room the fullest template the session's shares cited in the last minute leaves, by CONVOY's own formula (164-byte BLAKE2b header, 124+85+10 fixed bytes, pool output, 128-byte margin). The list then fits, the block is a full split, and the rest waits in carry, under the class-budget machinery (sessions, carry ceiling, carry_reserved_sats, counters). On the five blocks the budget is 189-208 bytes under what CONVOY kept. template-weight-limit (default 800 000) also replaces the 4 000 000 / 80-byte-header assumption in the class-budget room check. Tests: workspace 242 pass, including a non-ignored e2e (a share citing a 795 664-WU template holds the next list to 16 payees + pool; without the keys the list is whole) and unit tests on the five real blocks. class_budget_e2e ignored test passes. Co-Authored-By: Claude Opus 5.5 <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.
CONVOY v0.5.0beta fits every coinbase size class to its template. When the mempool fills a block
to this chain's 800 000 weight units only the node's ~2 000-byte coinbase reserve is left and the
class keeps the first 50 or so of 100+ payees: blocks 977088, 977570, 977906, 977949, 977993 were
Partial that way (7 of 33 v0.5.0beta blocks and 65 of 179 v0.4.1-beta ones in the week to
2026-10-19), each owing the rest through a 6 480-block make-good.
template-budget = true (with class-budget-fee-wallet-reserves) sizes each reply to the payee room
the fullest template the session's shares cited in the last minute leaves, by CONVOY's own
formula (164-byte BLAKE2b header, 124+85+10 fixed bytes, pool output, 128-byte margin). The
list then fits, the block is a full split, and the rest waits in carry, under the class-budget
machinery (sessions, carry ceiling, carry_reserved_sats, counters). On the five blocks the budget
is 189-208 bytes under what CONVOY kept. template-weight-limit (default 800 000) also replaces
the 4 000 000 / 80-byte-header assumption in the class-budget room check.
Tests: workspace 242 pass, including a non-ignored e2e (a share citing a 795 664-WU template
holds the next list to 16 payees + pool; without the keys the list is whole) and unit tests on
the five real blocks. class_budget_e2e ignored test passes.
Off by default; turning it on is a prime.toml change plus a primed swap.
🤖 Generated with Claude Code