Ecosystem metrics

New Repos
11
New
Commits
990
up 23.4%
Releases
10
up 0.0%
Contributors
55
up 1.9%
Merges
20
up 33.3%

Repository Explorer

10755 commits in all time May 17, 2026 09:38 – Aug 15, 2026 09:38 UTC
ipaleka widgets
Bugfixes for stale icons and wrong ALGO available amount
Git Commit bbf7c7cd Branch main Document 3/204 ++ 2 --
Merge 5fedc0fbbdc30073db774f16a5cca46dc735c1ca into 4bb8bde04aa890c23cdd067bd167c1f0375a632d
Git Commit 76f647a6 Branch pull/318/merge Document 26/3,114 ++ 1,214 --
Merge afc947b1ecb97bada388e509c232dbcb5f4beeea into 75c72bf720cdf08705f25d121fcce3e3150f72e6
Git Commit 19b5e0d7 Branch pull/1025/merge Document 1/13 ++ 3 --
pbennett reti
Merge d386587140eb3788ee9f1b1212595e43a0aec132 into 527148d2263674f02f6f0035019382b3b4f3e400
Git Commit 6835f4b3 Branch pull/410/merge Document 55/2,884 ++ 469 --
pbennett reti
perf(ui): load validator and pool state in bulk, persist the query cache
The dashboard opened with roughly 900 algod requests: four simulate calls per
validator (config/state/pools/nodePoolAssignments), one global state read per
pool, then enrichment lookups on top. All four validator reads come out of the
same `v` + validatorId box, and every pool is created by the registry's app
account, so both collapse into a single request each.

Bulk reads:

- `fetchAppBoxes` reads box names and values together using algosdk 3.6's
  `include('values')` with cursor pagination, pinning every page after the
  first to the round the first returned so a multi-page read is one snapshot.
  It throws if a node returns names without values rather than rendering an
  app's state as empty.
- `fetchAllValidatorData` decodes those boxes through the generated ARC-56
  struct and seeds the per-validator query caches inside the queryFn, so
  components and route loaders reading the individual keys resolve from cache.
  The validator detail route seeds the same four keys from one box read when
  arriving cold.
- `fetchPoolGlobalStates` reads every pool's `lastPayout`/`algodVer` from one
  `accountInformation` call on the registry address, and warns when algod
  truncates the created-app list. `processPoolData` takes that state as an
  argument, falling back to a per-pool read only for what the bulk read missed.
- xGov request boxes move off the typed client's `requestBox.getMap()`, which
  issued a request per box across the whole registry.
- `validatorMetricsQueryOptions` takes its per-validator inputs explicitly
  instead of re-deriving them through `ensureQueryData`, which would refetch
  once those entries are garbage collected. The per-row Rewards and Status
  queries observe rather than fetch, keeping metrics traffic inside the
  metered queue.

Caching and pacing:

- `queryPersister` persists an allowlist of query key roots to IndexedDB,
  chosen over localStorage because protocol data is full of bigints and
  structured clone handles them natively. Busted on `__APP_VERSION__`.
  main.tsx hydrates before the router runs, so the table paints from disk and
  refreshes underneath; index.html holds a static spinner and applies the
  stored theme before first paint.
- `useQueuedQueries` meters only work that will actually hit the network,
  returns results positionally aligned with its input, and learns a per-host
  batch size by AIMD (`utils/rateLimit`) - additive increase on clean ticks,
  halving on 429/503, persisted so the next load starts near a known-good rate.
- `axiosNfdApi` gains a localStorage-backed HTTP cache and exponential backoff.
  The retry has to register after `setupCache`: registered first it swallows
  the rejection before the cache settles the entry it opened, and the retry
  then blocks forever on that entry. Covered by a test.

algosdk 3.6 types `asset.params` as optional, hence the `?.` on every params
access. axios and axios-cache-interceptor are bumped alongside.

Specs added for the box reads, pool global state decoding, the batching queue,
the persister, the rate limit controller, and the NFD interceptor ordering.
Git Commit d3865871 Branch perf/ui-bulk-data-loading Document 52/2,764 ++ 469 --
pbennett reti
chore: add repo agent instructions and ignore bare .env / .idea
AGENTS.md documents the three deliverables, the localnet-dependent dev loop, the per-package commands CI enforces, and which paths are generated build output. CLAUDE.md points at it.

.gitignore only had `.env.*`, which doesn't match a bare `.env` - and bootstrap writes mnemonics into nodemgr env files.
Git Commit 6ff8dda9 Branch perf/ui-bulk-data-loading Document 3/120 ++ 0 --
jannotti go-algorand
Merge dad1fc45a025a7e406135bf3d89f71ddc85d3dd1 into 8d7f8f778c8668bb5162fad3179bbb4cbb1082bb
Git Commit 4901c1a4 Branch pull/6707/merge Document 5/847 ++ 29 --
jannotti go-algorand
code review
Git Commit dad1fc45 Branch pull/6707/head Document 2/37 ++ 12 --
JBScaled devportal
Merge 6c9ff61d13b4e2fff3054f459162d55ff4f918ff into 9ccf32ecd596eac20065b70904206694aa41247b
Git Commit d8a6560f Branch pull/646/merge Document 5/414 ++ 9 --
jannotti go-algorand
Use vartime routines for a speedup
Git Commit 0acee584 Branch pull/6707/head Document 6/410 ++ 74 --
jannotti go-algorand
First cut at adding Edwards ec math to AVM
This is pretty much straight out of a Claude session. Comitting to
checkpoint while I work on something else.
Git Commit eb7fb406 Branch pull/6707/head Document 8/498 ++ 41 --
JBScaled devportal
docs: point algokey references at the new reference page
Git Commit 6c9ff61d Branch docs/algokey-reference Document 3/5 ++ 9 --
JBScaled devportal
docs: add algokey command reference
Git Commit 865d8b0f Branch docs/algokey-reference Document 2/409 ++ 0 --
Ganainmtech devportal
Merge 42e6e8f15882b17b89398bb043aff217b9b66a61 into 9ccf32ecd596eac20065b70904206694aa41247b
Git Commit 22a9efec Branch pull/645/merge Document 1/12 ++ 3 --
Ganainmtech devportal
docs: address review feedback on blocks page
Git Commit 42e6e8f1 Branch docs/block-opcode-params Document 1/2 ++ 2 --
Ganainmtech devportal
Merge 2bb4ab10753e1ca017588ea522b3fcab00a248ed into 9ccf32ecd596eac20065b70904206694aa41247b
Git Commit 0e5ebaa6 Branch pull/645/merge Document 1/11 ++ 2 --
Ganainmtech devportal
docs: add missing block header fields and AVM block access
Git Commit 2bb4ab10 Branch docs/block-opcode-params Document 1/11 ++ 2 --
Argimirodelpozo puya-ts
Merge 6b0663a46b78d965afb9ae5c283d87efba456b08 into 9306fe0d6d4c0041ab9eb7fa1a492bdbd790ec4d
Git Commit 77240948 Branch pull/400/merge Document 242/4,668 ++ 141 --
ipaleka frontend
Initial setup for the swap widget redesign
Git Commit df95ee2e Branch main Document 5/669 ++ 73 --
Argimirodelpozo puya
chore: compile all
Git Commit 386dd52e Branch main Document 74/201 ++ 151 --
Argimirodelpozo puya
test: expected output autosalt validation warnings
Git Commit 76d17b9b Branch main Document 1/56 ++ 0 --
Argimirodelpozo puya
chore: rebuild ts nodes
Git Commit 380f1e6f Branch main Document 1/4 ++ 0 --
Argimirodelpozo puya
chore: get rid of avm 13 exclusions now that localnet has v13
Git Commit 4f004393 Branch main Document 1/0 ++ 12 --
Argimirodelpozo puya
add pragma in emitted teal + show salt in assembly report's last row when applicable
Git Commit a652d435 Branch main Document 2/28 ++ 2 --