Ecosystem metrics

New Repos
49
New
Commits
664
down 20.9%
Releases
2
down 71.4%
Contributors
50
down 2.0%
Merges
19
down 29.6%

Repository Explorer

11097 commits in all time May 02, 2026 10:23 – Jul 31, 2026 10:23 UTC
tasosbit gGov
chore: fix frac sample data
Git Commit 4ed99182 Branch worktree-frac-design-import Document 1/89 ++ 36 --
tasosbit gGov
Merge 0dd21ee9b7ca01af649182fa7efcecc237c3457b into 5fa26a44232611e8d9caeac103a9fb3d3ac8f53c
Git Commit ba62e100 Branch pull/97/merge Document 35/30,839 ++ 18,681 --
tasosbit gGov
Merge branch 'develop' into feat/frac-user-delegation
Git Commit 0dd21ee9 Branch feat/frac-user-delegation Document 3/22 ++ 11 --
tasosbit gGov
Merge branch 'develop' into feat/frac-user-delegation
Git Commit 6bd473cb Branch feat/frac-user-delegation Document 4/21 ++ 140 --
sofinico gGov
Merge 5fa26a44232611e8d9caeac103a9fb3d3ac8f53c into d5e740c4f38df55c0230b3571fa18401b65695ef
Git Commit b869edc3 Branch pull/55/merge Document 300/427,812 ++ 143,154 --
tasosbit gGov
Merge pull request #94 from algorandfoundation/feat/single-period-multi-elections
feat: multi-election periods via per-topic election tags
Git Commit 5fa26a44 Branch develop Document 27/3,489 ++ 2,300 --
tasosbit gGov
Merge branch 'develop' into feat/single-period-multi-elections
Git Commit f4f45ff5 Branch develop Document 5/21 ++ 163 --
Merge 2ae74c3289737ac5856c2e7adda51578b9228de4 into d4e2088f738a46819185a6418854b08482bdac33
Git Commit 13babd4a Branch pull/318/merge Document 17/1,604 ++ 19 --
Merge pull request #319 from algorandfoundation/assets-core-concept
Docs: Add Assets concept page and examples
Git Commit 2ae74c32 Branch docs-staging Document 3/312 ++ 12 --
tasosbit gGov
chore: Reti -> Réti
Git Commit 2ccfec9b Branch worktree-frac-design-import Document 15/214 ++ 17 --
Merge cb73e89aa341616fd971a737ba219250fd6e61f2 into eb903edcae43b254e15ba4c87840e3cd20a5dfc9
Git Commit c7a1d8b6 Branch pull/322/merge Document 4/628 ++ 232 --
Changed notices to LinkCard. Title changes
Git Commit cb73e89a Branch docs/account-management-update-code-example Document 1/31 ++ 16 --
tasosbit gGov
chore: /vote wording
Git Commit 0636c03d Branch worktree-frac-design-import Document 1/2 ++ 1 --
tasosbit gGov
feat: frontend: election-specific views on the period detail page
Implements the election frames of the Period Detail design handoff
(claude.ai/design 'Period Detail.dc.html', frames 1/3/6).

Each race on an election ballot now renders as its own card — E.0N chip,
name, seat count and candidate count — instead of a bare h3 over a flat
list of topic cards. What sits inside depends on the state:

- scoring (active, eligible, simple) — one CandidateBallotCard per
  candidate: avatar, statement, and Support/Veto/Abstain chips that tint
  the card once picked. A legend band prices the chips (+1/-1/0) and a
  footer tracks 'n of m candidates scored'.
- advanced — the existing TopicVoteCard allocation inputs, unchanged.
  Splitting power across the three options is still a valid ballot, and
  single-choice chips cannot express it.
- read-only (logged out, ineligible, ended) — ElectionStandings: the
  candidates ranked by net score with 'in seat range' pills and a
  seat-cutoff note, replacing per-candidate tally bars that ranked
  nothing.
- upcoming — the plain option list, inside the same card shell.

Labels come off the on-chain options via classifyOption rather than
being hardcoded, so a period seeded before the Veto rename still reads
'Against' in its own legend and standings.

Grouping is presentation only: every card stays keyed by on-chain topic
index, so ballot state and the vote() payload are untouched.
Git Commit a5714bec Branch worktree-frac-design-import Document 4/456 ++ 23 --
tasosbit gGov
chore: rename the election Against option to Veto
Election candidate ballots are Support / Veto / Abstain instead of
Support / Against / Abstain, across the Manage UI that writes the
on-chain options, the results/scoring copy, the docs pages, the
Storybook fixtures and the sample-data seeders.

ElectionCandidate.against is renamed to .veto to match.

utils/vote.ts is untouched on purpose: its NO_RE already matched both
'against' and 'veto', so periods already on chain with Against labels
keep tallying and colouring correctly alongside new Veto ones.
Git Commit 1d670fad Branch worktree-frac-design-import Document 13/47 ++ 49 --
tasosbit gGov
feat: frontend: elections in the voter-facing UI
A period runs elections when its body carries `elect`; each candidate names its
race through its own topic body's `e`. The results page understood that, and so
did the operator UI — the ballot and every period summary did not. A voter
meeting a two-election period saw seven undifferentiated "topics" with no way to
tell which seat anyone was standing for.

"Candidate" is a presentation word for a topic in an election period: the
contract, the ABI and every SDK handle stay `topicIndex`, so this is a copy
change, not a rename. utils/periodTerms.ts holds the noun and the count label in
one place — the two existing `isElection ? … : …` ternaries had already drifted
apart (the add-candidate form said "Add topic" in its disconnected state).

Ballot (VotePeriodDetail):
- candidates group under per-race headings via the SDK's groupCandidates,
  matching the results page. Ordering only: the state arrays, buildVotes() and
  the vote() payload stay flat and keyed by on-chain topic index.
- candidates whose `e` is missing or names no declared election are dropped by
  groupCandidates but still rendered, in a trailing section. The contract
  requires every topic row to carry the voter's full power, so leaving one off
  the ballot would make the period unvotable.
- the T.0N ordinal chip is suppressed for candidates — it would number straight
  through races that are ranked separately.
- the two near-identical "View Ranked Results" blocks (one right-aligned, one
  not) become one strip that also names each race and its seats.

Summaries now read "2 elections" / "5 candidates" / "3 topics": the period list
rows and column header, both heroes, the detail and results meta lines, the
sidebar info card, and the operator table. All of them already fetched the
period body except the operator table, which gains one read per row and a
TODO(perf) naming the batched reader that would collapse it.

Manage:
- assignment warnings move onto the page. They existed only inside the
  Mark-ready dialog, so an operator who never opened it had no idea a candidate
  was running in no race — and once the period is ready and a vote lands, the
  topic set is frozen and it can no longer be fixed.
- the fix-ability message keyed off canEdit, which folds in `!!sdk`, so a
  disconnected visitor was told the period was "no longer editable" when it was
  simply not connected. Split into `editable` vs `canEdit`.
- the remaining unconditional "topic" strings (remove-confirm, body dialog,
  placeholders, the disconnected add form) go through the shared terms.

Docs: /docs/periods gains an elections section and the glossary gains Election
and Candidate. Both spell out the rule that surprises people — you cast on every
candidate, including races you don't care about, and Abstain is how you sit one
out.

Also: deploy-sample-data declared `{ t: 'EAC', s: 1 }` while its own prose,
comments and console output all described a 2-seat treasury committee;
detailScenario accepted `elect` but hardcoded its topics, so the one election
story flagged an election over two untagged reward-policy topics. Both fixed,
plus multi-election detail stories and election rows in the list fixture.

Typecheck, lint and prettier are clean and the two ballot play-tests still pass.
Verified against localnet sample data (the active two-election period 2),
including a throwaway draft period carrying an untagged candidate to exercise
the manage callout and the trailing ballot section.
Git Commit 44b8c405 Branch worktree-frac-design-import Document 21/511 ++ 159 --
scholtz conduit
Merge 072ce1ee17eac8a63d7556d1fa35b52622eb9287 into 415873ac5d1a8c367c3bd5e0df7656e84d400a93
Git Commit 586c4908 Branch pull/190/merge Document 1/9 ++ 0 --
jannotti conduit
Sync: Bump go-algorand-sdk to main for pqsig (#199)
The nightly algod now emits the pqsig key in SignedTxn. The previously
pinned SDK (2026-06-24) predates the post-quantum signature types, so
go-codec rejected the unknown key and block import failed with
"no matching struct field found when decoding stream map with key pqsig".
Git Commit 415873ac Branch master Document 2/3 ++ 3 --
jannotti conduit
Merge 63ec8b17b5b3f544b44a66d08a4035dccd071ed6 into 9f0fa0e0f2190075f59c1a226db1e7a7af84bea9
Git Commit c2b9e40c Branch pull/199/merge Document 2/3 ++ 3 --
jannotti conduit
Sync: Bump go-algorand-sdk to main for pqsig
The nightly algod now emits the pqsig key in SignedTxn. The previously
pinned SDK (2026-06-24) predates the post-quantum signature types, so
go-codec rejected the unknown key and block import failed with
"no matching struct field found when decoding stream map with key pqsig".
Git Commit 63ec8b17 Branch pull/199/head Document 2/3 ++ 3 --
jannotti indexer
Merge 5d087d21af1641f77a8cece9ba113218b023559b into 3d20fd760cdc6ef6ca959809f1724bb494df3a33
Git Commit 472a8239 Branch pull/1697/merge Document 12/590 ++ 463 --
jannotti indexer
Pin to latest main which has latest fields and consensus details
Git Commit 5d087d21 Branch pull/1697/head Document 2/3 ++ 5 --
Merge 9728aa7470cfc134a39329ea5e292540048453c3 into eb903edcae43b254e15ba4c87840e3cd20a5dfc9
Git Commit 44b0cf68 Branch pull/319/merge Document 3/312 ++ 12 --