fast-time: the vote-or-burn harness refuses its burn rule (vote-or-burn removed from the node on the project lead's word, 7 October 2026); rules none|bonus
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
b115875b57
commit
3446f0c8a2
1 changed files with 6 additions and 3 deletions
|
|
@ -40,7 +40,7 @@ const NEVER = '18446744073709551615';
|
|||
const args = process.argv.slice(2);
|
||||
const flag = (name, dflt) => { const i = args.indexOf(`--${name}`); return i >= 0 ? Number(args[i + 1]) : dflt; };
|
||||
const sflag = (name) => { const i = args.indexOf(`--${name}`); return i >= 0 ? args[i + 1] : null; };
|
||||
const RULE = sflag('rule') || 'burn';
|
||||
const RULE = sflag('rule') || 'bonus';
|
||||
const EXPECT = sflag('expect') || RULE;
|
||||
const SECS = flag('secs', 300), TAIL = flag('tail', 120), TOL = flag('tolerance', 0.01), PAIRS = flag('pairs', 10);
|
||||
const GENESIS_BITS = flag('genesis-bits', 0x1f010000);
|
||||
|
|
@ -69,7 +69,10 @@ const REPLAY_WAIT = flag('replay-wait', 240);
|
|||
const CASE = sflag('case') || `rule-${RULE}-expect-${EXPECT}${REPLAY ? (REPLAY_BPS ? `-replay-bps${REPLAY_BPS}` : '-replay') : ''}`;
|
||||
const OUT = sflag('out') || `${ROOT}docs/plans/counter-asic-3-gate/vote-or-burn-${CASE}.json`;
|
||||
const FIGURES = { none: { producer: 1.0, pool_over_full_producer: 0.25 }, burn: { producer: 0.8, pool_over_full_producer: 0.25 }, bonus: { producer: 0.9, pool_over_full_producer: 0.35 } };
|
||||
if (!FIGURES[RULE] || !FIGURES[EXPECT]) { console.error('usage: --rule none|burn|bonus --expect none|burn|bonus'); process.exit(2); }
|
||||
// vote-or-burn was removed from the node on 7 October 2026 (the project lead's word: the bonus at the testnet genesis, no burn); the
|
||||
// `burn` rule and the `--replay-bps` burn share stay in this file's history only and are refused here
|
||||
if (RULE === 'burn' || EXPECT === 'burn' || REPLAY_BPS) { console.error('vote-or-burn was removed from the node on 7 October 2026; rules: none|bonus'); process.exit(2); }
|
||||
if (!FIGURES[RULE] || !FIGURES[EXPECT]) { console.error('usage: --rule none|bonus --expect none|bonus'); process.exit(2); }
|
||||
const started = [];
|
||||
const log = (...a) => console.log(new Date().toISOString().slice(11, 23), ...a);
|
||||
const sleep = (ms) => new Promise(r => setTimeout(r, ms));
|
||||
|
|
@ -88,7 +91,7 @@ const DAY_MS = field('pow_day_ms');
|
|||
const override = `${TMP}/override.json`;
|
||||
writeFileSync(override, mergeOverrideText(swapFinality(baseText, FINALITY), {
|
||||
genesis_bits: GENESIS_BITS, skip_proof_of_work: false,
|
||||
vote_or_burn_activation_daa: RULE === 'burn' ? '0' : NEVER, signing_bonus_activation_daa: RULE === 'bonus' ? '0' : NEVER,
|
||||
signing_bonus_activation_daa: RULE === 'bonus' ? '0' : NEVER,
|
||||
program_class_v3_activation_daa: NEVER, program_class_v4_activation_daa: NEVER,
|
||||
}));
|
||||
log(`case ${CASE}: finality ${FINALITY}, rule ${RULE}, expect ${EXPECT} (producer ratio ${FIGURES[EXPECT].producer}, pool ${FIGURES[EXPECT].pool_over_full_producer} of the full producer share), ${SECS} s, tail ${TAIL}`);
|
||||
|
|
|
|||
Loading…
Reference in a new issue