Ecosystem metrics

New Repos
1,885
New
Commits
370
down 10.6%
Releases
10
up 11.1%
Contributors
42
down 17.6%
Merges
13
down 7.1%

Repository Explorer

4032 commits in all time May 24, 2026 13:25 – Aug 22, 2026 13:25 UTC
mitre88 go-algorand-sdk
fix: omit empty API token header on algod/indexer clients
Public nodes can disable API auth. Always setting X-Algo-API-Token to an
empty string caused those requests to fail. Only send the header when
both the header name and token are non-empty.

Fixes #653.
Git Commit 21119cf1 Branch pull/844/head Document 2/44 ++ 2 --
mitre88 algokit-utils-ts
Merge 7690a49dd2197abd34b1ed96e536a04b6d0409e9 into fb8247d1111a5c618a32185104e0b6efd00c0f77
Git Commit a631cac2 Branch pull/604/merge Document 4/127 ++ 14 --
fix links to moved algorand-typescript and algokit-cli docs
Git Commit 46e189ff Branch security-guide Document 1/2 ++ 2 --
gabrielkuettel devportal
Merge ac9031d02886986b1dfa0dbedff34f691d8b7ff0 into 2cd175e0f03d678500f57d454d1d11f789b996f3
Git Commit 223d4516 Branch undefined Document 300/236,448 ++ 98,940 --
LoafPickleWW wen-tools
feat: create SimpleMint page for configuring and executing asset minting operations
Git Commit 103c26db Branch main Document 1/6 ++ 4 --
github-actions[bot] wallet
cicd deploy 1.2026.08.21-main [skip ci]
Git Commit bd1639df Branch master Document 1/1 ++ 1 --
scholtz-aures wallet
feat: add Falcon-1024 post-quantum account support
- Introduced Falcon-1024 account type with corresponding UI elements and localization in Russian, Slovak, and Turkish.
- Implemented account creation, import, and export functionalities for Falcon accounts.
- Added Falcon-specific mnemonic generation and validation.
- Integrated Falcon signing mechanism for transactions.
- Updated routing to include Falcon account creation page.
- Enhanced backup warnings and account management features for Falcon accounts.
- Added unit tests for Falcon account functionalities.
Git Commit 0aca3298 Branch master Document 28/951 ++ 43 --
LoafPickleWW wen-tools
feat: implement Stablecoin Studio, Minting Suite, and Brale utility modules
Git Commit 181bc641 Branch main Document 5/812 ++ 1 --
JBScaled devportal
Merge 8c4bfa8644a329fe80a58d6cec7beab311b3cdcc into dfb39a360fe74d6d4e6efd11bbf76d1887efb420
Git Commit 20fa1f27 Branch undefined Document 1/27 ++ 21 --
Merge pull request #600 from algorand/fix/reject-negative-extra-pages
fix: reject negative extra_pages in appcall transactions
Git Commit 189855d4 Branch main Document 2/40 ++ 1 --
tasosbit gGov
perf: pipeline: stage 3 computes concurrently, ingests serially
Stage 3 ran one source at a time, so three multi-minute Indexer window
scans summed instead of overlapping. Splitting it by what each half is
allowed to do lets the reads overlap while the writes stay ordered:

- compute (ledger precheck, window scan, replay, manifest assembly) now
  runs concurrently across sources
- ingest stays strictly serial across sources AND instances. uploadAqFile
  derives box names from account ids the frac *registry* allocates as it
  goes, and that counter is registry-wide, so two instances ingesting at
  once would predict the same ids and all but the first would fail with an
  invalid box reference - the same reason the SDK refuses to parallelize
  the batches within one upload.

Compute returns its per-source outcomes rather than pushing onto the run
context, so the report still reads the same on every run (pMap answers in
input order).

Also, on the same path:
- per-instance ledger prechecks fan out; a multi-instance source (reti runs
  one per validator) spent a serial round trip per instance before any scan
- plugins are built once per run and shared by stages 1 and 3; reti was
  resolving every validator's pools twice
- the manifest genesis hash is read once per run, not once per instance
- stage/phase timings behind the debug flag, so this is measurable at all
Git Commit 33038ca8 Branch chore/pipeline-parallelization Document 1/262 ++ 109 --
tasosbit gGov
perf: collapse the account page's pooled reads to one
The account page paid a fan-out on two axes and a waterfall between
them: one committee-snapshot read per instance, then - once those
landed and syncedIds could be derived - one AQ read per committee.
On VotingPowerByCommittee, which passes every gGov committee, that is
~33 queries in two phases for a 3-pool account.

Fold both axes into the read that already spans instances:

- FracAccountCommitteeAq gains totalVotes, taken field-wise off the
  committees box getAccountCommitteeAq already reads to resolve
  committeeNumId - so it costs no extra box read and no extra
  reference. Field-wise rather than cloning because escrowsVotes sits
  between the two fields and grows with the escrow count, the same
  reasoning getCommitteeStanding documents.
- logAccountInstanceAQ takes committeeIds[] and logs one row per
  (instance, committee) pair, instance-major. Every row already echoes
  its committeeId, so callers group rather than index-align. It also
  gains the deleted-app probe its sibling logInstanceCommittees has -
  free, since the app is referenced by the inner call anyway, and today
  one deleted instance takes down the whole page.

References now split per-instance and per-pair, so the page size is a
function of the committee count:

    refs(I, C) = 1 + I*(2 + 3C) <= 128

C=1 gives 25, reproducing the old AQ_PAGE_SIZE exactly. C=42 fits no
instance at all, hence aqMaxCommitteesPerCall = 41 alongside
aqRefBudget. getAccountInstanceAQs sizes the two axes against each
other rather than paging instances serially - committee chunks are
independent and run in parallel. Given the caller's instance count it
solves for instances first; without it, for committees, which keeps the
single-committee callers at exactly the one round-trip they cost today.

Frontend: usePooledCommitteeAqs collapses to a single useQuery, the
syncedIds pre-filter disappears (it only existed to avoid the
per-committee cost), and poolVotes reads entry.totalVotes.
useFracInstanceCommittees becomes usePoolSyncedCommittees - a plain
useQuery for PoolDetail's account-independent "Voting since" row, the
one caller no account-scoped reader can serve.

Measured on localnet at 30 committees x 2 pools: 32 algod calls in two
phases -> 3 (one account read plus two parallel AQ chunks), 130ms ->
24ms. Instance approval program 6,427 -> 6,453 / 8,192 bytes.

BREAKING: getAccountCommitteeAq's return type changes, and with it its
ARC-4 selector, which the registry inner-calls by selector; and
logAccountInstanceAQ's own signature. Registry and every live instance
must be upgraded together. No deployed registry today - neither
.env.testnet nor .env.mainnet carries VITE_FRAC_REGISTRY_APP_ID.
Git Commit 7cdb4602 Branch chore/pipeline-parallelization Document 22/8,093 ++ 5,793 --
tasosbit gGov
perf: logVotingRecords, so a page of members is one call not one group
The pool page's vote-record read was the only frac batch reader packing one call
per account into a simulate group, which capped it at the group's 16-transaction
capacity - an order of magnitude under what a single call can carry. The instance
had no plural reader for votingRecords, unlike accountAq, which logAccountAqs has
served all along.

logVotingRecords is that sibling, and the SDK now chunks it the way it chunks every
other log reader: 63 ids per call, two calls per simulate group. What binds a call
at 63 here is the log budget rather than references, which is new - allowMoreLogging
lifts a call's total to 65,536 bytes and a record cannot exceed ~950, so 63 rows is
~59.9KB. The other readers arrive at the same 63 from the 2048-byte app-arg cap, so
the number is a coincidence worth writing down.

PoolDetail's page size was 10 precisely because of the 16-call ceiling; it goes to
25, matching the committee leaderboard, with the page still costing one round-trip.

getVotingRecords had no test anywhere - its only caller was the frontend - so this
adds the first: index alignment across voted, ingested-but-silent and unknown
accounts, and a 129-id stress placing voters at the first, middle and last slots to
prove the aggregate stays aligned across the 126-per-group boundary. The alignment
test also pins the decoded numeric type, because the batch path decodes the struct
out of a log rather than taking the client's typed return, and a bigint there would
break every arithmetic consumer.

Costs 85 bytes of the instance's approval program, which is at 6,427 of 8,192 with
extraProgramPages already at the AVM maximum.
Git Commit 2a8c7b92 Branch chore/pipeline-parallelization Document 11/5,587 ++ 4,253 --
Merge 7c41d8e9f98eacbd288d7e2d016e4b3415c27dd0 into b4ca42f9d605dbb9136f99ac09d5f365fc684a68
Git Commit 35afd8a5 Branch pull/1122/merge Document No file changes
Merge ee041d363e5b6076524a45226e12c8b60237cb6c into b4ca42f9d605dbb9136f99ac09d5f365fc684a68
Git Commit 81737ae2 Branch pull/1118/merge Document 1/9 ++ 23 --
Merge c409aa1a99a13bf45312429674f6468edce9e02d into b4ca42f9d605dbb9136f99ac09d5f365fc684a68
Git Commit 2277b6c6 Branch pull/1112/merge Document 1/3 ++ 3 --
mitre88 js-algorand-sdk
Merge 115a4339700aac92ced229b717798f998dd0210e into b4ca42f9d605dbb9136f99ac09d5f365fc684a68
Git Commit 6d495db0 Branch pull/1130/merge Document 2/85 ++ 0 --
Merge 94955addac6d1c7a0e1f4c21a9e740ac8279be54 into b4ca42f9d605dbb9136f99ac09d5f365fc684a68
Git Commit 38db7a13 Branch pull/1111/merge Document 1/8 ++ 8 --
Merge b4b51f91f1c758958ea88d4e0ffdab54c1f65488 into c91d55b8c1a3b364b3cf61c52972ca549682377f
Git Commit 1407c8cb Branch undefined Document 47/2,332 ++ 414 --
iglosiggio go-algorand-sdk
fix: Wrong code on PQAccountTransactionSigner#Equals
Git Commit b4b51f91 Branch pqsig-support Document 1/1 ++ 1 --
iglosiggio go-algorand-sdk
chore: Rename Falcon1024AccountTransactionSigner to PQAccountTransactionSigner
Git Commit f2579343 Branch pqsig-support Document 2/9 ++ 9 --
JBScaled devportal
docs: update current versions foundation tool libs
Git Commit 8c4bfa86 Branch main Document 1/27 ++ 21 --