Nicholas Dudfield
63f99ad9d8
feat(consensus): salt tx ordering with entropy
2026-06-29 16:32:16 +07:00
Nicholas Dudfield
be649d5112
fix(export): bound retry window
2026-06-29 14:28:20 +07:00
Nicholas Dudfield
8c48e500e7
fix(consensus): domain-separate participant diagnostics
2026-06-29 11:49:26 +07:00
Nicholas Dudfield
5195fc64b3
fix(hooks): block callback from canceling current export latch
2026-06-29 10:54:31 +07:00
Nicholas Dudfield
f849b70a96
docs(export): clarify target network id guard
2026-06-29 10:18:53 +07:00
Nicholas Dudfield
8ad82f328d
fix(export): prevent callback hook from pre-canceling import latch
2026-06-29 10:03:04 +07:00
Nicholas Dudfield
618314afb7
test(consensus): isolate export sidecar rejection cases
2026-06-29 07:55:06 +07:00
Nicholas Dudfield
0668caacf2
test(consensus): fix round-pinned sidecar fixture
2026-06-29 07:26:19 +07:00
Nicholas Dudfield
2fe984297a
fix(consensus): filter agreed export signers by active view
2026-06-28 20:10:28 +07:00
Nicholas Dudfield
d6de1d90b5
fix(consensus): pin RNG round sequence at start
2026-06-28 20:01:08 +07:00
Nicholas Dudfield
3eda8d664e
fix(consensus): share entropy sidecar leaf admission
2026-06-28 19:53:42 +07:00
Nicholas Dudfield
a0866d1559
fix(import): use ledger time for VL freshness
2026-06-28 19:45:36 +07:00
Nicholas Dudfield
4a12f4c231
fix(hook): harden xport and xpop host paths
2026-06-28 19:41:20 +07:00
Nicholas Dudfield
a93b8cfdc4
refactor(export): share inner export transaction parsing
2026-06-28 19:18:40 +07:00
Nicholas Dudfield
c2bc4fabe8
fix(consensus): filter export signature candidates
2026-06-28 19:02:32 +07:00
Nicholas Dudfield
94ffc86bd9
fix(consensus): cap export sidecar candidates
2026-06-28 18:18:45 +07:00
Nicholas Dudfield
1d158a910b
fix(consensus): cap fetched sidecar cardinality
2026-06-28 17:18:14 +07:00
Nicholas Dudfield
62dc85df86
test(export): cover replay witness pre-scan
2026-06-28 15:49:06 +07:00
Nicholas Dudfield
d7a8467705
refactor(consensus): share active export signer filter
2026-06-28 15:44:18 +07:00
Nicholas Dudfield
8cc4574e0f
refactor(export): split closed-ledger result assembly
2026-06-28 15:39:37 +07:00
Nicholas Dudfield
cf3a9ef96b
fix(consensus): freeze rng commits before reveal
2026-06-28 15:15:17 +07:00
Nicholas Dudfield
806aa56aec
fix(consensus): centralize rng admission
2026-06-28 14:52:00 +07:00
Nicholas Dudfield
cb1f932236
refactor(consensus): share sidecar build helpers
2026-06-28 14:20:55 +07:00
Nicholas Dudfield
e01c0cba70
fix(export): require replay parent for historical apply
2026-06-28 13:53:19 +07:00
Nicholas Dudfield
5e27c2fea9
refactor(consensus): centralize sidecar admission checks
2026-06-28 13:43:16 +07:00
Nicholas Dudfield
19ec9ece35
fix(replay): enforce manual replay ledger hash
2026-06-28 13:33:53 +07:00
Nicholas Dudfield
a714eaa621
fix(consensus): bind entropy reveals to proofed commits
2026-06-28 13:32:26 +07:00
Nicholas Dudfield
f0f998d897
test(export): cover stale ImportVL callback rejection
2026-06-28 12:51:32 +07:00
Nicholas Dudfield
1dbda8f6b3
style(export): satisfy clang-format
2026-06-28 12:34:50 +07:00
Nicholas Dudfield
5149f5ae9b
refactor(import): make VL ratchet explicit for callbacks
2026-06-28 12:32:58 +07:00
Nicholas Dudfield
46632be87b
refactor(rng): reuse named commit quorum threshold
2026-06-28 12:13:39 +07:00
Nicholas Dudfield
6661e7a40a
test(export): move reserve setup to failing test
2026-06-28 11:55:29 +07:00
Nicholas Dudfield
46207a3fca
test(export): initialize account root before reserve edit
2026-06-28 11:38:48 +07:00
Nicholas Dudfield
268db0b6d2
fix(export): enforce shadow ticket reserve
2026-06-28 11:24:06 +07:00
Nicholas Dudfield
73f3b7a167
fix(consensus): reject miskeyed rng sidecar leaves
2026-06-28 11:24:00 +07:00
Nicholas Dudfield
1b4535cee5
docs(consensus): clarify rng proposal key checks
2026-06-28 10:30:17 +07:00
Nicholas Dudfield
bb6242213b
fix(hooks): enforce xport emit budget
2026-06-28 10:16:53 +07:00
Nicholas Dudfield
0aa8e3ca67
fix(consensus): reject non-secp rng proposal proofs
2026-06-28 10:16:29 +07:00
Nicholas Dudfield
516edb8147
fix(hooks): return export wrapper hash from xport
2026-06-28 10:09:00 +07:00
Nicholas Dudfield
1186a3a7c4
style: apply clang-format
2026-06-27 17:38:11 +07:00
Nicholas Dudfield
9d9329ece4
refactor: reuse proof parser and named entropy tiers
2026-06-27 17:32:37 +07:00
Nicholas Dudfield
465131bb3e
refactor: name legacy NetworkID transaction boundary
2026-06-27 16:59:20 +07:00
Nicholas Dudfield
1b0c633eda
refactor(consensus): trim small duplicated extension constants
...
Reuse SidecarPeerAlignment::quorumAligned for export sidecar gates, name the shared sidecar convergence timeout, and centralize the RNG commitment tuple.
Also make ExportLimits::maxExportsPerHook the value enforced by xport_reserve, with a static assertion against the hook ABI constant.
2026-06-27 15:24:06 +07:00
Nicholas Dudfield
ceabb893bf
docs(consensus): tighten proposal proof wording
...
Clarify that fetched RNG commit proofs carry the signed proposal fields plus signature, not only the serialized position bytes.
2026-06-27 15:16:35 +07:00
Nicholas Dudfield
d5ca581cea
docs(consensus): explain sidecar reconciliation model
...
Document the common proposal-relay path, why RNG/Export use fixed-denominator quorum over proposal-borne material, and how sidecar SHAMap fetch/proofs act as secondary distribution rather than authority.
This captures the reconciliation cost/benefit in the committed design doc, separate from the reviewer-facing PR description.
2026-06-27 15:13:22 +07:00
Nicholas Dudfield
8a81588b71
fix(consensus): let quorum-aligned entropy conflicts proceed
...
Use the fixed-denominator entropy threshold as the conflict boundary: once our entropy hash is quorum-aligned, a below-threshold conflicting minority or silent peer cannot force fallback by withholding full observation.
Update the consensus entropy invariant spine and design doc so the no-veto conflict rule is explicit, and flip the regression test to cover the liveness-preserving path.
2026-06-27 15:09:30 +07:00
Nicholas Dudfield
0a9023c334
fix(export): avoid live manifest filtering of accepted witnesses
...
Materialize ttEXPORT_SIGNATURES from the accepted export sidecar root during live consensus builds, then let apply trust that tx-stream witness membership while still verifying each signature and enforcing quorum.
Direct apply paths remain conservative, and historical replay uses the same witness-membership rule after manifests may have rotated. Update the intent docs and tests for live, direct, and replay modes.
2026-06-27 13:39:58 +07:00
Nicholas Dudfield
c38567792e
fix(hooks): separate callback rng streams
2026-06-27 13:06:28 +07:00
Nicholas Dudfield
3cfc79ea59
fix(consensus): bind rng sidecar proofs to round parent
2026-06-27 13:04:08 +07:00
Nicholas Dudfield
eb3a3b888f
fix(consensus): allow shared diagnostics in export-only rounds
2026-06-27 12:56:19 +07:00