Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
229 commits
Select commit Hold shift + click to select a range
a3e370a
feat(pm plan): add opt-in batch and commit-reveal betting modes for f…
On1x Jun 16, 2026
49537c8
feat(pm docs): add Prediction Market params (HF14) and leverage risk-…
On1x Jun 21, 2026
b8f5668
docs(pm-workflow): add detailed prediction market workflow documentat…
On1x Jun 21, 2026
d5d6139
chore(thirdparty): update fc submodule to latest commit
On1x Jun 21, 2026
6f35a1e
chore(deps): add mermaid and related plugins to devDependencies
On1x Jun 21, 2026
5129103
feat(hardfork): add support for hardfork 14 in prediction markets
On1x Jun 21, 2026
c270e0a
feat(pm): integrate Prediction Markets core logic and HF14 support
On1x Jun 21, 2026
7c7847d
feat(prediction_market_api): add prediction market plugin with extens…
On1x Jun 21, 2026
aede61e
feat(snapshot): add import support for HF14 Prediction Market objects
On1x Jun 21, 2026
adaf945
feat(wallet): add HF14 prediction market API support
On1x Jun 21, 2026
4b3d7d5
feat(vizd): add prediction_market_api plugin registration
On1x Jun 21, 2026
7155a0c
test(pm): add comprehensive prediction-market lifecycle integration t…
On1x Jun 21, 2026
3ccc9e9
feat(prediction-markets): add HF14 prediction markets and v5 chain pr…
On1x Jun 21, 2026
7910da4
docs(prediction-markets): add prediction market API plugin documentation
On1x Jun 21, 2026
4657a13
chore(chainbase): update submodule to latest commit
On1x Jul 2, 2026
bb80e53
feat(prediction-markets): extend HF14 with oracle rebuttals, ban life…
On1x Jul 2, 2026
28b32b6
Merge branch 'master' into pm
On1x Jul 2, 2026
91021cf
fix(wallet): return fc::variant from prediction_market_api read pass-…
On1x Jul 2, 2026
a417229
fix(wallet): drop dead prediction_market_api plugin include from remo…
On1x Jul 2, 2026
70ea612
feat(prediction-markets): add oracle accept window and lazy-pool min …
On1x Jul 2, 2026
c9f5ddf
docs(prediction-markets): document accept window and lazy-pool min LP…
On1x Jul 2, 2026
73af78c
docs(integration): clarify fee units and remove permille from protocol
On1x Jul 2, 2026
ebd2dfd
fix(prediction-markets): resolve ternary type mismatch on accept_dead…
On1x Jul 2, 2026
3eebfd6
fix(account_history): mark impacted accounts for prediction-market op…
On1x Jul 5, 2026
5479b9a
refactor(prediction-market): move market metadata off-chain (prunable…
On1x Jul 5, 2026
31e8aab
feat(prediction-market): garbage-collect finalized markets after a fi…
On1x Jul 5, 2026
ff25633
feat(prediction-market): GC every terminal market, not just resolved …
On1x Jul 5, 2026
6ea7c9e
test(prediction-market): cover all five terminal-market GC paths
On1x Jul 5, 2026
d8a48b3
feat(validator): add disable-minority-fork-detection for single-opera…
On1x Jul 6, 2026
c13e0e2
docs(validator): add disable-minority-fork-detection option for singl…
On1x Jul 6, 2026
eae1a42
pm-api: index market title/image/condition_id in metadata plugin
On1x Jul 6, 2026
4d018cc
pm_api: enrich market read APIs with parsed metadata (title/image)
On1x Jul 6, 2026
52acb25
pm_api: add list_markets_awaiting_resolution(oracle, from, limit)
On1x Jul 9, 2026
02a5cbd
pm_api: index short resolution rules (metadata.description) into mark…
On1x Jul 10, 2026
a812369
pm_api: newest order for list_markets + one-shot DLT meta backfill
On1x Jul 10, 2026
0b1354e
pm_api: fix meta backfill op->market mapping (identity key, not posit…
On1x Jul 10, 2026
c2b95e8
pm: open-ended markets (betting_expiration=0, open until oracle resol…
On1x Jul 10, 2026
f3118fb
pm: leverage funding rate (perpetual carry cost on the loan)
On1x Jul 10, 2026
8589b47
pm_api: index metadata.event (parent grouping) + list_markets_by_event
On1x Jul 11, 2026
4157a20
pm: raise multi-outcome limits for testnet (pm_max_outcomes default 1…
On1x Jul 11, 2026
71d1ddf
pm: raise lmsr n cap 16->128 to match MAX_PM_OUTCOMES_PER_MARKET (com…
On1x Jul 11, 2026
717fadd
pm-api: index & serve metadata.event_title (readable event label for …
On1x Jul 11, 2026
3d8c231
pm-props: default pm_leverage_enabled=true on pm/testnet branch
On1x Jul 11, 2026
bf8abc5
pm-api: serve real binary outcome labels in weight-sums (was hardcode…
On1x Jul 11, 2026
b8f426d
pm-api: case-insensitive tag filter in list_markets_by_category
On1x Jul 11, 2026
3a2f53c
pm-api: add get_category_tag_counts(category) for stable per-category…
On1x Jul 11, 2026
e648a82
pm-api(list_markets_by_category): attach volume to volume/expiration-…
On1x Jul 11, 2026
fd1835d
pm-api: hide child/prop markets from list_markets_by_category by defa…
On1x Jul 11, 2026
6615c72
lazy-pool: never overpay withdrawals — queue (FIFO) the amount owed a…
On1x Jul 11, 2026
4ddbee9
docs(lazy-pool): document withdrawal FIFO queue + pending_withdrawals…
On1x Jul 11, 2026
681f8f2
lazy-pool: price deposit shares against pool equity (free+allocated-p…
On1x Jul 11, 2026
23bc298
chain: log block-gen tx-apply exceptions instead of swallowing silently
On1x Jul 12, 2026
70ada64
pm-api: attach live status/payout_status/resolved_outcome to list_mar…
On1x Jul 12, 2026
e8cbab5
pm-api: list_markets_by_category emits array tags + metadata object (…
On1x Jul 12, 2026
6903d37
network_broadcast_api: elevate swallowed accept_transaction failures …
On1x Jul 12, 2026
8ac49a4
pm: fix leverage_open insert failure — add id tiebreaker to by_lev_be…
On1x Jul 12, 2026
bf6897f
pm-api: aggregate per-oracle listing risk floor + apply to category/e…
On1x Jul 13, 2026
5230165
Merge master into pm: self-heal watchdog + snapshot invariants (#125,…
On1x Jul 14, 2026
f708bea
issue #127: TEMP snapshot invariant instrumentation — per-status PM t…
On1x Jul 14, 2026
5bf4a5f
issue #127: TEMP instr round 2 — sum market-level token holders (rese…
On1x Jul 15, 2026
6b002c1
pm(issue #127): route leverage-exit curve residual to forfeit_pool
On1x Jul 15, 2026
7685905
pm(issue #127): re-arm PM supply invariant, anchored to testnet legac…
On1x Jul 15, 2026
8175101
pm: per-account frozen-funds counters on account_object (foundation)
On1x Jul 21, 2026
e79da45
pm: instrument frozen-counter touchpoints + drift-check invariant
On1x Jul 21, 2026
8a295c1
pm: add by_oracle_status composite index + list_markets_by_oracle_sta…
On1x Jul 27, 2026
a8902b9
docs(pm-api): document list_markets_by_oracle_status(oracle, status, …
On1x Jul 27, 2026
3c96237
pm(#266): idempotent corrective re-seed of frozen counters (fix over-…
On1x Jul 28, 2026
08369b5
prediction_market_api: list_markets order='expiration' — global soone…
On1x Jul 30, 2026
413729b
snapshot: carry PM metadata across snapshots (DLT-safe, config-optional)
On1x Jul 31, 2026
eeccd67
pm: force-close leverage when betting ends, not at settlement
On1x Aug 3, 2026
323a75e
docs(prediction-markets): link published SSRN version of Onix whitepaper
On1x Aug 3, 2026
2d442bf
docs(prediction-markets): note leverage-exit residual routes to forfe…
On1x Aug 3, 2026
d59766a
pm: add O(1) per-oracle active_markets counter (oracle_object -> get_…
On1x Aug 3, 2026
84b502c
docs(prediction-markets): use formal SSRN citation for the Onix white…
On1x Aug 3, 2026
172d87c
fix(pm): price-neutral CPMM liquidity add/withdraw (PR #124 B4/B5)
On1x Aug 4, 2026
b06bdbf
fix(pm): PR #124 review fixes B3/B6/B7/B1 (mint, k-corruption, cancel…
On1x Aug 4, 2026
26fd26a
feat(pm): wire up B9 late-bet time penalty (PR #124 review)
On1x Aug 4, 2026
f697e5c
fix(pm): include pm_lazy_withdraw_request in snapshots (PR #124 B2)
On1x Aug 4, 2026
93e43e7
fix(pm): bound pm_max_time_penalty in validate + clamp penalty at pro…
On1x Aug 4, 2026
5ff694e
fix(pm): charge parimutuel shortfall to LP principal instead of emitt…
On1x Aug 4, 2026
f3ff915
fix(pm): curve-price binary bet cancellation instead of nominal rever…
On1x Aug 4, 2026
8c3a872
test(pm): import @chiliec standalone replay harness for PR #124 revie…
Aug 4, 2026
a01016b
test(pm): CI-wired regression guards for PR #124 F1/F3 + fix invarian…
On1x Aug 4, 2026
bd1dd67
fix(pm): actually assign settle_result::uncovered before the floor (P…
On1x Aug 4, 2026
db60f48
test(pm): add @chiliec t14_f2_ledger replay case (PR #130)
chiliec Aug 4, 2026
4a1511f
fix(pm): make the F1 LP charge inescapable + robust remainder (PR #12…
On1x Aug 4, 2026
090468f
docs(pm): correct payout_status enum comment and refresh t14 epilogue…
On1x Aug 4, 2026
9fa9630
fix(pm): close the F1 withdraw escape for open-ended markets too (PR …
On1x Aug 4, 2026
aa3a1e9
feat(pm): pull result_expiration forward on early resolution (PR #124…
On1x Aug 4, 2026
7b038a9
fix(pm): give the missed-resolution void a grace so pm_resolve_market…
On1x Aug 4, 2026
e405a67
Merge master (Boost 1.83->1.9x migration) into pm
On1x Aug 5, 2026
0b6d09d
Merge master into pm (Windows fix #133, p2p self-connection #134, val…
On1x Aug 6, 2026
d894341
feat(pm): dispute lifecycle in oracle account history (P1 oracle-metr…
On1x Aug 6, 2026
97e7112
feat(pm): per-oracle workload gauges (P2 oracle-metrics)
On1x Aug 6, 2026
a6752b1
feat(pm): oracle-disputes & in-dispute-window read APIs (P3 oracle-me…
On1x Aug 6, 2026
75a0564
feat(pm): reliability_score v2 (P4 oracle-metrics)
On1x Aug 6, 2026
3a95ddb
feat(pm): oracle resolution-timeliness metrics (P5 part 1)
On1x Aug 6, 2026
cbc0c5a
feat(pm): resolution-latency histogram + p50/p95 (P5 part 2, complete…
On1x Aug 6, 2026
433e6a5
fix(snapshot): import pm_oracle oracle-metrics fields (P1-P5)
devarticle Aug 6, 2026
d8b43d9
fix(pm): compute avg_resolution_time running mean in uint128
devarticle Aug 6, 2026
2eb0870
feat(pm): weave timeliness into reliability_score v2 (variant A)
On1x Aug 6, 2026
e054a56
docs(pm): document oracle-metrics P1-P5 (gauges, latency, reliability…
On1x Aug 6, 2026
d0f7294
Merge pull request #136 from web3blind/fix/pm-oracle-metrics-snapshot…
On1x Aug 6, 2026
104090f
Merge pull request #137 from web3blind/fix/pm-avg-resolution-time-uin…
On1x Aug 6, 2026
8fd8d70
fix(pm-api): cap penalty-stamp cost in reliability_score so it can't …
On1x Aug 7, 2026
8f45fdc
fix(pm): anchor dispute window to announcement so a late oracle can't…
On1x Aug 7, 2026
453d4d2
pm-api: default account/creator/oracle/market-bet listings to newest-…
On1x Aug 7, 2026
8f8e85b
pm-api: server-side status filter for by_category + volume/expiration…
On1x Aug 7, 2026
2414995
pm-api: order arg for list_markets_by_oracle_status (default newest)
On1x Aug 7, 2026
e0ffb0c
fix(pm): stop batch-epoch settle from starving markets behind the pro…
devarticle Aug 8, 2026
d4bbdb4
pm(early-exit): add pm_early_exit_reward_cap_percent chain param + de…
On1x Aug 8, 2026
39fc24b
pm(early-exit): scaffold pm_deferred_claim_object (F1/#300)
On1x Aug 8, 2026
e95dd46
pm(early-exit): settlement claim-distribution pass (F1/#300, inert)
On1x Aug 8, 2026
0bfc84e
pm(early-exit): exit paths record deferred claims (F1/#300) — money l…
On1x Aug 8, 2026
3706074
pm(early-exit): claim-paid vop + get_deferred_claims read API (F1/#300)
On1x Aug 8, 2026
de1f796
fix(pm): round-robin batch-epoch settle + idle fast-path (follow-up t…
chiliec Aug 8, 2026
b4c041e
Merge pull request #140 from VIZ-Blockchain/fix/pm-batch-settle-followup
On1x Aug 8, 2026
3becf1d
fix(pm): clamp leverage pot_retained at 0 to preserve no-uncovered gu…
devarticle Aug 8, 2026
09dd3b6
Merge pull request #141 from web3blind/fix/pm-leverage-negative-forfeit
On1x Aug 8, 2026
8faafe6
pm(F1): loud uncovered diagnostic (#348) + bound deferred-claim loop …
On1x Aug 8, 2026
499246e
pm: clamp F1 early-exit bucket to settlement headroom (unconditional …
On1x Aug 9, 2026
efceef6
docs(onix-protocol): weave in F1 early-exit + Theorem 2; rebuild EN/R…
On1x Aug 9, 2026
dd6c5d1
docs(onix-protocol): add Ledger-styled PDFs + LaTeX sources
On1x Aug 9, 2026
7b6b254
test(pm): early-exit headroom-clamp conservation replay (t15)
chiliec Aug 10, 2026
7a4924a
Merge pull request #142 from VIZ-Blockchain/test/pm-early-exit-headroom
On1x Aug 10, 2026
833a302
fix(pm): drop deferred-claim rows in gc_market (backstop)
On1x Aug 10, 2026
7e4a0ba
test(pm): consensus_sim coverage for zero-sum supply + early-exit cla…
chiliec Aug 10, 2026
e0f7040
Merge pull request #143 from VIZ-Blockchain/test/pm-consensus-sim-cov…
On1x Aug 10, 2026
1551600
chore: untrack .qoder/, prune dead .gitignore entries, fix build_ming…
chiliec Aug 10, 2026
8376ebf
docs: consolidate legacy documentation/ into the docs/ tree
chiliec Aug 10, 2026
8b77783
build: default to Release, gate cat-parts to Windows, translate CMake…
chiliec Aug 10, 2026
d0cb511
build: collapse duplicated SHARED/STATIC add_library branches into VI…
chiliec Aug 10, 2026
df4d7d1
perf: add opt-in precompiled headers for chain/protocol/wallet
chiliec Aug 10, 2026
238c227
docs: full re-audit of tech debt against current master
chiliec Aug 10, 2026
d3e0b11
Merge #150 into pm: docs tech-debt re-audit
On1x Aug 11, 2026
a26a1f2
Merge #145 into pm: consolidate documentation/ into docs/ tree
On1x Aug 11, 2026
2c02f66
Merge #148 into pm: opt-in precompiled headers
On1x Aug 11, 2026
83a98fc
Merge #146 into pm: default Release, gate cat-parts to Windows, trans…
On1x Aug 11, 2026
cc5f255
Merge #144 into pm: untrack .qoder/, prune dead .gitignore, fix build…
On1x Aug 11, 2026
cda1ebd
chore: complete .qoder untrack on pm (pm-specific files not covered b…
On1x Aug 11, 2026
5521644
Merge #147 into pm: collapse SHARED/STATIC add_library into VIZ_LIBRA…
On1x Aug 11, 2026
5dd2475
refactor(chain): extract hardfork application into database_hardfork.…
On1x Aug 11, 2026
c45087d
pm: double default leverage funding rate 50->100 ppm/day (0.01%/day)
On1x Aug 11, 2026
77b8e4b
pm-api: add get_account_commits(account,[open_only]) read method
On1x Aug 11, 2026
fe8d1de
pm: include leverage_fund_used in lazy-pool deposit equity
On1x Aug 12, 2026
a02b774
pm: audit fixes #2 (leverage-aware withdraw floor + cascade) and #5 (…
On1x Aug 12, 2026
4457718
pm: audit fix #1-C depth-normalized early-exit cancel (kill self-liqu…
On1x Aug 12, 2026
5bbe718
pm: audit fix #3 gate insurance withdrawal on open obligations (owner…
On1x Aug 12, 2026
8c47072
pm: #3 close resolve->withdraw->dispute race (gate on finalized, not …
On1x Aug 12, 2026
d41bc98
docs(pm): sync spec with audit #386 fixes (#1-C depth-normalized canc…
On1x Aug 12, 2026
e497930
test(pm): margin/leverage safety coverage — bad-debt transfer, profit…
chiliec Aug 12, 2026
d2741aa
Merge pull request #151 from VIZ-Blockchain/test/pm-margin-leverage-c…
On1x Aug 12, 2026
e747d74
refactor(pm): split pm_evaluator.cpp — extract cron + helpers into pm…
chiliec Aug 12, 2026
aadc334
test(pm): replay test — settlement zero-sum vs known exploit classes …
chiliec Aug 12, 2026
15f475c
feat(pm): minimum loan floor for pm_leverage_open (defense-in-depth, …
On1x Aug 12, 2026
bf89025
test(pm): replay test — leverage/margin math invariants (t17)
chiliec Aug 12, 2026
53ae738
fix(pm): make pm_closed_market_retention_sec median-voted
On1x Aug 12, 2026
c0f0252
test(pm): refresh pm_lifecycle expectations to live audit economics
On1x Aug 12, 2026
66d72c7
docs(pm): RU participant guides — roles set (bettor, creator, oracle,…
On1x Aug 12, 2026
b39f845
docs(pm): add feature guides — why-pool-not-odds, disputes
On1x Aug 12, 2026
e4fd863
docs(pm): add feature guides — resolution, multi-outcome
On1x Aug 12, 2026
8c6cad0
docs(pm): add feature guides — cancel-bet, lazy-pool detail
On1x Aug 12, 2026
93a24f8
docs(pm): add feature guides — early-exit, commit-reveal (series comp…
On1x Aug 12, 2026
860dee7
fix(pm): couple closed-market retention to the commit reveal deadline…
chiliec Aug 12, 2026
3573108
Merge pull request #155 from VIZ-Blockchain/fix/pm-retention-reveal-c…
On1x Aug 13, 2026
6a7c90c
Merge pull request #154 from VIZ-Blockchain/test/pm-leverage-math-inv…
On1x Aug 13, 2026
db88a26
Merge pull request #152 from VIZ-Blockchain/refactor/pm-evaluator-split
On1x Aug 13, 2026
c4f8cc4
Merge remote-tracking branch 'origin/pm' into mrg153
On1x Aug 13, 2026
29580c9
Merge pull request #153 from VIZ-Blockchain/test/pm-settlement-exploi…
On1x Aug 13, 2026
e6e51b6
docs(pm): fix cancel-bet — profit tail is deferred claim, not forfeit…
On1x Aug 13, 2026
39d6485
docs(pm): fix market-creator — oracle silence is missed-resolution (s…
On1x Aug 13, 2026
ab00eb4
docs(pm): align bettor with cancel-bet/resolution fixes + typo
On1x Aug 13, 2026
0aeefea
fix(pm): audit batch A — terminal-path conservation and snapshot symm…
On1x Aug 13, 2026
93c723f
fix(pm): audit batch B — DoS caps and leverage-fund accounting
On1x Aug 13, 2026
5040d25
test(pm): chain_properties_pm validate() boundary sweep (audit batch C)
On1x Aug 13, 2026
43e68d1
ci(pm): label-gated ctest job for the PM unit suite (audit batch C)
On1x Aug 13, 2026
d67d908
test(pm): consensus_sim case for partial transfer entry_liquidity inh…
On1x Aug 13, 2026
9a35a1f
test(pm): lazy-withdraw FIFO + oracle-update scenarios; adapt suite t…
On1x Aug 13, 2026
0ca7c46
fix(pm): snapshot import restores dispute oracle_response pair (audit…
On1x Aug 13, 2026
65ccd89
harden(pm-api): batch-D read-API DoS guards (adversarial review 2026-…
On1x Aug 14, 2026
94fe0ea
Quote endpoint: check per_pos_cap vs pm_min_liquidity floor
On1x Aug 16, 2026
2d5d6c7
debug(snapshot): TEMP per-market CPMM reserve-residual instrumentatio…
On1x Aug 16, 2026
591483a
fix(pm): gc_market burns forfeit_pool before removing market (drift-400)
On1x Aug 17, 2026
fe04bed
docs(pm): parlay & system bets design spec (accumulators vs lazy pool…
On1x Aug 18, 2026
b8a1499
docs(pm): events & metadata creator guide; parlay spec decisions q600…
On1x Aug 18, 2026
aa17a53
docs(pm): parlays considered and rejected (q#603=A)
On1x Aug 19, 2026
9f737ff
contrib(windows): ready-to-run bundle for a personal desktop node
On1x Aug 19, 2026
36807b4
contrib/windows: enable bounded operation/account history (one week)
On1x Aug 19, 2026
272ebab
config templates: drop phantom p2p-stale-sync-* options
On1x Aug 19, 2026
f0ad5c2
docs(emergency-consensus): describe the P2P guards that actually exist
On1x Aug 19, 2026
c27de9a
windows release: ship a usable bundle, clients included
On1x Aug 19, 2026
db34a22
Resolve hostname seed nodes and trusted snapshot peers
On1x Aug 19, 2026
0f32784
stop CI hanging for hours on a dead ubuntu mirror
On1x Aug 19, 2026
bb6fc75
docs: coupon guide (many bets, one atomic transaction)
On1x Aug 19, 2026
0da1d71
docs: put prediction-market guides in the right locales (english at r…
On1x Aug 19, 2026
378ae34
Set HF14 mainnet activation to 2026-08-28 00:00 UTC
On1x Aug 19, 2026
7cc9944
Document the still-open per-block settle cost caveat next to the HF14…
On1x Aug 19, 2026
1ce1396
Add Chinese (zh-CN) translations of the 17 prediction-market guides
On1x Aug 19, 2026
2fb9968
PM #432 fix A: minimum bet on every row-minting path (instant, queued…
On1x Aug 19, 2026
f9e8ae4
PM #432: settlement cost benchmark, and the measured numbers behind t…
On1x Aug 19, 2026
eccc677
pm: bound garbage collection by the per-block row budget (#432 D, par…
On1x Aug 19, 2026
2ad8962
docs(pm): record the settlement-freeze proof and the cron-§1 forfeit_…
On1x Aug 19, 2026
e8d9f74
docs(pm): pin the settlement resume state to its own object (#432 D)
On1x Aug 19, 2026
ba400ca
pm: add pm_settlement_object, the carrier for in-flight settlement st…
On1x Aug 19, 2026
eea66f2
pm: floor liquidity top-ups at pm_min_liquidity (#432 A, fourth row s…
On1x Aug 19, 2026
7a009f5
pm: bound settlement work per block with a phase machine (#432 fix D …
On1x Aug 19, 2026
77e393f
pm: bound the void refund paths per block (#432 fix D part 3)
On1x Aug 19, 2026
dd2a4ce
docs(pm): record the batch executor as the remaining unmetered per-bl…
On1x Aug 19, 2026
c63d93f
Bound the batch executor and stop the deadline sweeps re-reading sett…
On1x Aug 19, 2026
5d428da
Bound the dispute tally in cron §4 by the block row budget
On1x Aug 19, 2026
4caaacc
Count dispute ballots on the dispute object instead of rescanning per…
On1x Aug 19, 2026
26bf70d
Give the ban-expiry sweep its own per-block budget
On1x Aug 19, 2026
e81cfe2
docs(pm): record the per-transaction liquidation cascade (4.9) and th…
On1x Aug 19, 2026
87f1c1d
docs(pm): note that the #536 loan floor bounds the set, not the per-t…
On1x Aug 19, 2026
f1c91aa
fix(pm-api): list_markets paging stalled on runs of hidden markets
On1x Aug 19, 2026
3e4e370
fix(pm): budget the lazy-pool withdraw queue drain per block (#678)
On1x Aug 20, 2026
855f68c
feat(pm): record LP income at settlement — liquidity_fee_earned count…
On1x Aug 20, 2026
f3bd7a3
fix(pm): bound cron §6 idle scan + stream purge_deferred_claims + pha…
On1x Aug 20, 2026
42759c3
docs(pm): add ru/zh-CN translations for early-exit-deferred-claim, pa…
On1x Aug 20, 2026
c7ad506
docs(pm): record that the per-block spam/overload attack vector is cl…
On1x Aug 20, 2026
0f2caa6
perf(cron): bound committee/expiration idle scans (H2, H4, H5, M2)
On1x Aug 20, 2026
a36b24f
merge: sync pm with master docs-only merge (#157)
On1x Aug 20, 2026
ca20d10
fix(pm): dispute vote Sybil gate — raise ballot cap + vesting floor (…
On1x Aug 20, 2026
fd8fd2a
fix(committee): DAO request vote Sybil gate — cap + vesting floor (q#…
On1x Aug 20, 2026
94e4871
docs(pm): sync dispute vote cap 10k→100k and 1000 VIZ vesting floor
On1x Aug 20, 2026
ba8ab1b
docs(pm): document committee vote cap + vesting floor (HF14)
On1x Aug 20, 2026
78006bc
Make vote caps median-voted chain properties (HF14)
On1x Aug 21, 2026
eb890f3
docs: document median-voted vote caps as chain properties (en/ru/zh)
On1x Aug 21, 2026
a8b6ebc
fix(pm): gate committee vote caps behind HF14 (keep hf9 wire layout i…
On1x Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .github/workflows/docker-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ on:
branches:
- master
paths-ignore:
- 'documentation/**'
- 'docs/**'
- '@l10n/**'
- '**.md'

jobs:
Expand Down
66 changes: 63 additions & 3 deletions .github/workflows/docker-pr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ on:
# would otherwise only be evaluated on the next push.
types: [opened, synchronize, reopened, labeled, unlabeled]
paths-ignore:
- 'documentation/**'
- 'docs/**'
- '@l10n/**'
- '**.md'

jobs:
Expand Down Expand Up @@ -104,10 +105,17 @@ jobs:
submodules: recursive

- name: Install distro Boost and build deps
# Runners fetch packages from azure.archive.ubuntu.com; when that mirror goes quiet
# apt keeps retrying it and the job hangs for hours instead of failing (seen
# 2026-08-19). Pin the canonical mirror, bound the wait, and cap the step.
timeout-minutes: 15
run: |
set -euo pipefail
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
sudo sed -i 's|azure.archive.ubuntu.com|archive.ubuntu.com|g' \
/etc/apt/apt-mirrors.txt /etc/apt/sources.list 2>/dev/null || true
apt="sudo apt-get -o Acquire::Retries=3 -o Acquire::http::Timeout=20 -o Acquire::https::Timeout=20"
$apt update
$apt install -y --no-install-recommends \
build-essential cmake libboost-all-dev libssl-dev \
libbz2-dev liblzma-dev libzstd-dev libreadline-dev \
libtool ncurses-dev pkg-config zlib1g-dev
Expand All @@ -121,3 +129,55 @@ jobs:
-DBUILD_SHARED_LIBRARIES=FALSE \
-DCHAINBASE_CHECK_LOCKING=FALSE ..
make -j"$(nproc)" vizd

# L3 (audit 2026-08-13): the tree's PM unit tests (LMSR vector parity, parimutuel
# conservation, leverage math, meta parsing, chain-properties validate() sweep) were
# only ever run manually — CI proved compilation alone. Gated on the `pm-tests` label
# (like check-boost-range) so the default PR build stays fast; add the label to any PR
# touching PM consensus math, evaluators, crons, or chain properties. Builds only the
# tests/pm targets (chain/protocol/fc compile as make-dependencies); the consensus_sim
# harness is configured by BUILD_CONSENSUS_TESTS but never built here.
pm_tests:
name: PM unit tests (ctest)
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'pm-tests')

steps:
- uses: actions/checkout@v6
with:
submodules: recursive

- name: Install distro Boost and build deps
# Runners fetch packages from azure.archive.ubuntu.com; when that mirror goes quiet
# apt keeps retrying it and the job hangs for hours instead of failing (seen
# 2026-08-19). Pin the canonical mirror, bound the wait, and cap the step.
timeout-minutes: 15
run: |
set -euo pipefail
sudo sed -i 's|azure.archive.ubuntu.com|archive.ubuntu.com|g' \
/etc/apt/apt-mirrors.txt /etc/apt/sources.list 2>/dev/null || true
apt="sudo apt-get -o Acquire::Retries=3 -o Acquire::http::Timeout=20 -o Acquire::https::Timeout=20"
$apt update
$apt install -y --no-install-recommends \
build-essential cmake libboost-all-dev libssl-dev \
libbz2-dev liblzma-dev libzstd-dev libreadline-dev \
libtool ncurses-dev pkg-config zlib1g-dev

- name: Configure and build PM test targets
run: |
set -euo pipefail
sed -i '/add_subdirectory(tests)/d' thirdparty/fc/CMakeLists.txt
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBRARIES=FALSE \
-DCHAINBASE_CHECK_LOCKING=FALSE \
-DBUILD_CONSENSUS_TESTS=ON ..
make -j"$(nproc)" \
pm_lmsr_vectors_tests pm_parimutuel_tests pm_leverage_tests \
pm_meta_parse_tests pm_props_validate_tests

- name: Run ctest (PM suite)
run: |
set -euo pipefail
cd build
ctest -R '^pm_' --output-on-failure
66 changes: 65 additions & 1 deletion .github/workflows/windows-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ on:
push:
branches: [ windows_build, master ]
paths-ignore:
- 'documentation/**'
- 'docs/**'
- '@l10n/**'
- '**.md'

permissions:
Expand Down Expand Up @@ -194,6 +195,68 @@ jobs:
ls -lh $GITHUB_WORKSPACE/build/programs/vizd/vizd.exe
ls -lh $GITHUB_WORKSPACE/build/programs/cli_wallet/cli_wallet.exe
# -------------------------------------------------------
# 11b. Assemble the desktop bundle
# The binaries alone are not usable by a non-developer: they need a
# config, a launcher, and a client to talk to. The web clients are
# shipped as a local copy on purpose — browsers block https:// pages
# from reaching 127.0.0.1 (Local Network Access), so the hosted
# clients cannot see a node running on the user's own machine.
# -------------------------------------------------------
- name: Fetch Forecaster client
uses: actions/checkout@v6
with:
repository: VIZ-Blockchain/Forecaster-client
ref: main
path: client-src/forecaster

- name: Assemble Windows bundle
run: |
set -euo pipefail
cd $GITHUB_WORKSPACE
PKG="package/viz-node-windows"
rm -rf package
mkdir -p "$PKG/data" "$PKG/client/forecaster" "$PKG/client/wallet"

cp build/programs/vizd/vizd.exe "$PKG/"
cp build/programs/cli_wallet/cli_wallet.exe "$PKG/"
cp contrib/windows/start-viz.bat "$PKG/"
cp contrib/windows/open-forecaster.bat "$PKG/"
cp contrib/windows/open-wallet.bat "$PKG/"
cp contrib/windows/README.md "$PKG/"
cp contrib/windows/config.ini "$PKG/data/"

# Forecaster needs no build step — the repo contents are what the
# browser loads. Copy all of it, then drop the VCS/CI bits.
cp -r client-src/forecaster/. "$PKG/client/forecaster/"
rm -rf "$PKG/client/forecaster/.git" \
"$PKG/client/forecaster/.github" \
"$PKG/client/forecaster/.gitignore"

# The wallet's deployable form is a single self-contained index.html
# produced by its own CI (minify.php), published at wallet.viz.world.
wget -q -O "$PKG/client/wallet/index.html" https://wallet.viz.world/

# Fail loudly rather than shipping a bundle with holes in it.
for f in vizd.exe cli_wallet.exe start-viz.bat open-forecaster.bat \
open-wallet.bat README.md data/config.ini \
client/forecaster/index.html client/forecaster/app.js \
client/forecaster/i18n.js client/forecaster/viz.min.js \
client/wallet/index.html; do
test -s "$PKG/$f" || { echo "bundle is missing $f"; exit 1; }
done
du -sh "$PKG"
find "$PKG" -maxdepth 2 -mindepth 1 | sort

- name: Zip Windows bundle
shell: pwsh
run: |
$sha = "${{ github.sha }}".Substring(0, 7)
Compress-Archive -Path package/viz-node-windows `
-DestinationPath "viz-node-windows-$sha.zip"
Get-Item "viz-node-windows-$sha.zip" | Select-Object Name, Length
"bundle=viz-node-windows-$sha.zip" >> $env:GITHUB_OUTPUT
id: bundle
# -------------------------------------------------------
# 12. Derive release metadata
# Tag: win-<short-sha> e.g. win-a1b2c3d
# The "win-" prefix distinguishes these from any future
Expand Down Expand Up @@ -224,6 +287,7 @@ jobs:
name: ${{ steps.meta.outputs.name }}
generate_release_notes: true
files: |
${{ steps.bundle.outputs.bundle }}
build/programs/vizd/vizd.exe
build/programs/cli_wallet/cli_wallet.exe
env:
Expand Down
14 changes: 1 addition & 13 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,9 @@ libraries/wallet/api_documentation.cpp
libraries/wallet/doxygen

programs/cli_wallet/cli_wallet
programs/js_operation_serializer/js_operation_serializer
programs/vizd/vizd
programs/vizd/test
programs/delayed_node
programs/build_helpers/cat-parts
programs/size_checker/size_checker
programs/util/get_dev_key
programs/util/inflation_model

tests/app_test
tests/chain_bench
tests/chain_test
tests/plugin_test
tests/intense_test
tests/performance_test

wallet.json
node_data_dir
Expand All @@ -58,7 +46,7 @@ build-*/

node_modules/*

.qoder/logs/*
.qoder/
# Local design specs and implementation plans (not part of repo)
docs/superpowers/

Expand Down
97 changes: 0 additions & 97 deletions .qoder/agents/senior-engineer.md

This file was deleted.

Loading