Latest Repo Discovered
algorand-svelte
Svelte
·
No license
Top Contributor of the Month
9645 commits in all time
Apr 22, 2026 16:12 – Jul 21, 2026 16:12 UTC
Merge c991e0ffc2e438430df7838ea07f66185bd70ce3 into b3769a2c96f58b8be8f1e6e982eac5ad4511f644
368ddd59
pull/722/merge
2/2 ++ 2 --
document frozen-tail risk under consensus bounds
Replace the unreachable-tail wording with the accepted probabilistic bound and its no-grinding assumption. Pin current go-algorand committee behavior at the base minimum, payout eligibility landmarks, mainnet supply ceiling, and original report while showing that Boost terminates at finite double-CDF boundaries.
e59c9094
sortition-f128
2/92 ++ 33 --
short-circuit the walk when the accumulated CDF freezes
pmf(0) = (1-p)^money amplifies the 2^-129 rounding of 1-p by up to the trial count, and pmf(0) scales every PMF term, so the accumulated CDF settles at a plateau that can sit ~money*2^-129 below 1 (~2^-78 at supply-sized money). A digest ratio between the plateau and 1.0 (e.g. 2^256-1-2^176, ratio ~1-2^-80, with money == total == 2e15) sits above every boundary without rounding to 1.0, and the walk previously ground through all 2e15 no-op iterations -- hours of CPU on the consensus path -- before returning money. Detect the freeze instead: once an add cannot move cum while pmf strictly shrank, no later term can move it either (the rounded step factor is < 1 and only decreases; round-to-nearest is monotone), so the walk returns money immediately -- the identical result the plain walk reaches, in O(binomial tail) time. FuzzSelectF128 continuously validates the short-circuit against the oracle's full walk, and TestSelectF128FrozenTailReturnsMoney pins the supply-sized case for both the 2^-80 digest and ratio exactly 1.0. The count in the stuck sliver stays DEFINED as money: reaching it requires a VRF hash within ~2^-78 of the maximum, which cannot be ground for, so the 192-bit-pmf(0) variant that would return the exact binomial-tail crossing there (parked on sortition-f128-pmf192) is not worth its added audit surface under current consensus parameters. Documented in the SelectF128 tail-edge note.
6b0359c0
sortition-f128
3/77 ++ 5 --
add Go Benchmark (go) benchmark result for 83f620a1fc9bb20d7fa3b3958e28270a7492c224
28cc95a5
gh-pages
1/445 ++ 1 --
Merge pull request #6667 from onetechnical/relstable4.7.4-remerge
83f620a1
master
9/415 ++ 60 --
Merge ca77809893ea99eca062cdff9bfa65b22cc4e60e into a3679c833fbc334d3b47734db849a51ffc8a87f1
37257576
pull/888/merge
1/1 ++ 1 --
Merge pull request #889 from sambitsargam/dependabot/npm_and_yarn/typescript-eslint/parser-tw-8.65.0
build(deps-dev): update @typescript-eslint/parser requirement from ^8.64.0 to ^8.65.0
a3679c83
main
1/2 ++ 2 --
Merge branch 'main' into dependabot/npm_and_yarn/typescript-eslint/parser-tw-8.65.0
9a6bb4f0
main
No file changes
Merge pull request #890 from sambitsargam/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-tw-8.65.0
build(deps-dev): update @typescript-eslint/eslint-plugin requirement from ^8.63.0 to ^8.65.0
44d8799b
main
1/1 ++ 1 --
fix CDF plateau at large money: 192-bit pmf(0), freeze short-circuit
Raising 1-p to the money-th power amplifies the base's single 2^-129 rounding by the trial count, so for supply-sized money (~2^51) pmf(0) -- a common factor of every PMF term -- carried ~2^-78 of error and the accumulated CDF plateaued that far below 1. A valid digest with ratio above the plateau (e.g. 2^256-1-2^176, ratio ~1-2^-80, with money == total == 2e15) then sat above every boundary: the walk ground through all 2e15 no-op iterations (hours) and returned money where the exact crossing is j=1913. The band of such digests was ~money*2^-129, 2^51 times the documented 2^-129 edge; the differential fuzz could not see it because the oracle computed the identical plateau. Fix in two parts. pmf(0) is now computed by a minimal 192-bit-mantissa float (f192: quotient, multiply, power, one rounding to f128) whose 64 guard bits absorb the amplification (money*2^-193 < 2^-129); the oracle mirrors it at prec 192. And the walk now detects a frozen CDF -- an add that cannot move cum while pmf strictly shrinks proves no later term can either -- and returns money immediately, the same result as the plain walk without the up-to-money no-op iterations. The plateau now sits within ~(walk length)*2^-129 of 1, so the residual stuck band is ~2^-116 and returns money instantly. New coverage: TestF192PowVsBig and FuzzF192Pow (f192 vs 192-bit big.Float, incl. supply-sized exponents), TestSelectF128LargeMoneyTail (the 2^-80 digest now yields 1913, matching an independent 512-bit computation), and TestSelectF128FrozenPlateauReturnsMoney (derives a digest inside the stuck band from the observed plateau and requires an immediate money return). The more accurate pmf(0) moved the hair-trigger ratio==1.0 pins: the money=1954 early stop is now j=4 (was 3) and its fall-through twin is total=...960 (was ...000); the all-0xff digest at money == total == supply now stops at j=2012. BenchmarkSelectF128: 272ns/op (was 170ns; the 192-bit power costs ~100ns), still 1 alloc and faster than the 355ns cgo/Boost path.
2375ec3d
sortition-f128-pmf192
3/347 ++ 39 --
clarify tail-edge divergence wording in SelectF128 doc
The compressed 'as large as money vs. a few' read as a typo (money is the parameter, not a quantity of currency). Spell it out: at a near-maximum digest one implementation may stop within a few steps of the binomial tail while the other returns the full trial count money.
eec84b81
sortition-f128
1/6 ++ 4 --
Merge 976eca01ad7caac103441e1956794180da3cea42 into 9bc334a8819e21a61e5717e04c07dec184a7c579
33d16c58
pull/73/merge
2/201 ++ 329 --
chore(deps): update semantic-release monorepo
976eca01
renovate/major-semantic-release-monorepo
2/201 ++ 329 --
add Go Benchmark (go) benchmark result for 48c92817b7d125afefd4bcb0c033bcffabc09bad
69538e0c
gh-pages
1/445 ++ 1 --
Merge pull request #6668 from algorand/relbeta4.7.4
bdff8de5
rel/beta
11/417 ++ 62 --
Merge 697cc227a449966bbdee7f7b67435e0e01ad123a into 48c92817b7d125afefd4bcb0c033bcffabc09bad
f712e1bc
pull/6667/merge
9/415 ++ 60 --
correct ratio==1.0 docs: both walk outcomes occur; pin both branches
At ratio exactly 1.0 (only the all-0xff digest IS exactly 1.0; the rest of the top 2^-129 digest interval rounds up to it), the accumulated f128 CDF reaches exactly 1.0 only for some distributions, decided at ulp granularity: money=1954/exp=1500 stops at j=3 with total=1_999_999_999_999_964 but falls through with total=2_000_000_000_000_000, 36 more. Other distributions never get within half an ulp of 1.0 (p=1/2 with money=100 leaves cdf(99) = 1 - 2^-100, 2^28 ulps short) and the walk runs to money -- which, with the rounded threshold fixed at 1.0, is also the exact-CDF count, since the exact CDF is < 1 for every j < money. The previous text presented the early stop as the behavior and money as hypothetical; this had it backwards. Reframe the f128 round-to-nearest rationale accordingly: RNE is required because every result must be the correctly-rounded 128-bit value to stay bit-identical to the 128-bit big.Float oracle; the ratio==1.0 edge is a consequence, not the requirement. Boost's double CDF -- evaluated independently per j via ibetac rather than accumulated -- can also saturate to 1.0 on its far coarser grid, potentially at a different (typically earlier) j, so old-vs-new divergence at this edge can be as large as money vs. a few. TestSelectF128RatioExactlyOne now pins both branches and both boundaries: the hair-trigger total pair (j=3 vs money), the provably-stuck money=100/p=1/2 case, and the exact tie money=129/p=1/2 where true cdf(128) = 1 - 2^-129 sits precisely on the rounding midpoint and ties-to-even rounds it up to 1.0 (stops at j=128). The rounds-to-1.0 digest is constructed with exactly 129 leading one bits, the minimal such digest.
0fdbb9de
sortition-f128
3/61 ++ 26 --
take expectedSize as uint64 in SelectF128
The committee size is a uint64 in the protocol (CommitteeSize(proto)); the float64 parameter only mirrored the C++ double signature and forced casts at every caller. Passing the exact integers lets each PMF-recurrence constant be a SINGLE round-to-nearest-even f128 divide of exact values -- q = (total-expected)/total and pq = expected/(total-expected) -- instead of stacking roundings through an intermediate float64 p (float64(totalMoney) is itself inexact above 2^53). Invalid probabilities (NaN/Inf/negative/fractional) become unrepresentable and p >= 1 is an exact integer comparison, so the differential fuzz no longer needs any input filtering. f128FromFloat64 loses its only caller and is removed; sub and its norm192s helper likewise lose theirs (1-p is now a direct divide of exact integers, one rounding instead of two) and are removed along with their fuzz checks. The oracle mirrors the integer-quotient constants. Boost agreement is unchanged (200000/200000); the fuzz explored the new signature for 8.1M execs clean. Setup now does two divs instead of convert+sub+div: ~170ns/op (was ~159), still 1 alloc.
da28510a
sortition-f128
3/68 ++ 154 --