Ecosystem metrics

Commits
861
up 12.7%
Releases
8
down 20.0%
Contributors
52
down 1.9%
Merges
38
up 72.7%

Repository Explorer

6529 commits in all time May 27, 2026 14:50 – Aug 25, 2026 14:50 UTC
ipaleka widgets
Added Dust Sweep UI
Git Commit 30bc8416 Branch main Document 4/796 ++ 58 --
tasosbit gGov
Merge 75b36f94e1f0793a0c219d3830d543fea3466a29 into 64e12bfd51a12a2a8becbfdc160d0cfd3ec95b41
Git Commit 30cbf023 Branch pull/112/merge Document 35/8,850 ++ 5,408 --
tasosbit gGov
chore: artifacts
Git Commit 75b36f94 Branch feat/avm13-computed-pages Document 12/371 ++ 371 --
ipaleka frontend
Initial setup for the Dust Sweep user widget
Git Commit a31c2b06 Branch v1_0_0 Document 6/535 ++ 2 --
ipaleka frontend
Implemented Dust Sweep user widget
Git Commit 966cc00e Branch v1_0_0 Document 6/535 ++ 2 --
ipaleka widgets
Implemented Dust Sweep user widget
Git Commit 6fda1530 Branch main Document 18/6,861 ++ 8 --
ipaleka frontend
Implemented Dust Sweep user widget
Git Commit a6c6f12a Branch v1_0_0 Document 6/519 ++ 2 --
tasosbit gGov
Merge 43c636308d95de2d8d4819502fd3d0b19632839b into 64e12bfd51a12a2a8becbfdc160d0cfd3ec95b41
Git Commit ce28e537 Branch pull/112/merge Document 35/8,850 ++ 5,408 --
tasosbit gGov
docs: correct the upload fee and page-ceiling comments
The SDK constants' fee docstring still described coverAppCallInnerTransactionFees;
the upload actually probes with simulate() and derives the fee from groupUsage.

Both registries claimed the three-page read covers the 12288 bytes a v13 approval
program can reach. The upload carries 3 x 4094 = 12282 (ARC-4 length prefix), and
v13's 7 extra pages allow 16384 — so it is short of a program that fills them.
Git Commit 43c63630 Branch feat/avm13-computed-pages Document 4/18 ++ 12 --
ipaleka widgets
Implemented Dust Sweep user widget
Git Commit 49aed3f2 Branch main Document 18/6,853 ++ 8 --
tasosbit gGov
Merge 9893837dafb12c614aad6de42d5db08624257f10 into b7f8375e15f2707a46739a247469830daded0984
Git Commit 7820f337 Branch pull/114/merge Document 22/6,652 ++ 6,099 --
tasosbit gGov
Merge b7f8375e15f2707a46739a247469830daded0984 into 64e12bfd51a12a2a8becbfdc160d0cfd3ec95b41
Git Commit 4ee9c31c Branch pull/112/merge Document 35/8,844 ++ 5,408 --
tasosbit gGov
feat: registries open their boxes to foreign reads at create
AVM v13 relaxes box isolation: an app can opt its boxes into reads by any other
app. Both registries now do that in a new createApplication, which runs
app_params_set(appForeignBoxReads, true). Verified on localnet that the opcode is
permitted during the creating call itself, so no separate post-create step is
needed - the v13 notes describe enabling access as update-then-run, but that is
for apps already deployed.

Reads only; writes stay exclusive to the owning app. app_params_set is run by an
app on itself, so a contract that is not updatable can never opt in later, which
is what preserves intentional immutability.

The create is a real ABI method rather than a bare one. It lands in the ARC-56 and
the generated clients, it can take arguments later without changing the create
shape a second time, and it matches the house style - FracDelegationInstance
already has an ABI createApplication invoked by selector from the registry
factory. Both createRegistry paths switch from create.bare() to the method call;
every other caller routes through createRegistry.

Two consequences of the create no longer being bare, both found by the suite:

- deployRegistryWithoutBytecode in the period e2e spec deploys a registry
  directly and was still doing a bare create, which is no longer routed and fails
  with an err on the OnCompletion match.

- The ATST unit specs. ATST holds a contract with any create method in
  `isCreating` and rejects every ABI call with "method can not be called while
  creating" until a create method runs - but ATST 1.2.0 predates v13 and cannot
  execute app_params_set, so the real body cannot run in the emulator. The
  registry test subclass overrides createApplication with a no-op and calls it
  after construction; the opt-in itself is covered e2e.

Follow-up worth taking: with foreign reads on, much of the registries' readonly
getter and log-dumping surface (getDelegation, getPeriodSummary, logCommitteePages,
getEscrow, ...) exists only because cross-app box reads used to be impossible.
Not touched here.

Suite green: 539 passed (2 new).
Git Commit 9893837d Branch feat/avm13-foreign-box-reads Document 22/6,652 ++ 6,099 --
tasosbit gGov
docs: give the frac SDK's extraProgramPages comment its own numbers
The block was copied verbatim from the ggov SDK and still named GGovRegistry
and its ~5.6KB program / 6144-byte exact ceiling. FracDelegationRegistry is
~2.9KB, so exact sizing gives it a 4096-byte ceiling; the argument for the
spare page is unchanged, only the figures were wrong. Also narrows the
parenthetical to instance apps, which are the only children this registry
spawns.
Git Commit b7f8375e Branch feat/avm13-computed-pages Document 1/7 ++ 7 --
tasosbit gGov
Merge a8f77252ee4345b60604d524094e58e79cbbd697 into 93319e309ee7e13b33471160be36c0721f54628a
Git Commit dba0968f Branch pull/114/merge Document 22/6,652 ++ 6,099 --
tasosbit gGov
feat: registries open their boxes to foreign reads at create
AVM v13 relaxes box isolation: an app can opt its boxes into reads by any other
app. Both registries now do that in a new createApplication, which runs
app_params_set(appForeignBoxReads, true). Verified on localnet that the opcode is
permitted during the creating call itself, so no separate post-create step is
needed - the v13 notes describe enabling access as update-then-run, but that is
for apps already deployed.

Reads only; writes stay exclusive to the owning app. app_params_set is run by an
app on itself, so a contract that is not updatable can never opt in later, which
is what preserves intentional immutability.

The create is a real ABI method rather than a bare one. It lands in the ARC-56 and
the generated clients, it can take arguments later without changing the create
shape a second time, and it matches the house style - FracDelegationInstance
already has an ABI createApplication invoked by selector from the registry
factory. Both createRegistry paths switch from create.bare() to the method call;
every other caller routes through createRegistry.

Two consequences of the create no longer being bare, both found by the suite:

- deployRegistryWithoutBytecode in the period e2e spec deploys a registry
  directly and was still doing a bare create, which is no longer routed and fails
  with an err on the OnCompletion match.

- The ATST unit specs. ATST holds a contract with any create method in
  `isCreating` and rejects every ABI call with "method can not be called while
  creating" until a create method runs - but ATST 1.2.0 predates v13 and cannot
  execute app_params_set, so the real body cannot run in the emulator. The
  registry test subclass overrides createApplication with a no-op and calls it
  after construction; the opt-in itself is covered e2e.

Follow-up worth taking: with foreign reads on, much of the registries' readonly
getter and log-dumping surface (getDelegation, getPeriodSummary, logCommitteePages,
getEscrow, ...) exists only because cross-app box reads used to be impossible.
Not touched here.

Suite green: 539 passed (2 new).
Git Commit a8f77252 Branch feat/avm13-foreign-box-reads Document 22/6,652 ++ 6,099 --
tasosbit gGov
Merge 93319e309ee7e13b33471160be36c0721f54628a into 64e12bfd51a12a2a8becbfdc160d0cfd3ec95b41
Git Commit f61c6948 Branch pull/112/merge Document 35/8,844 ++ 5,408 --
tasosbit gGov
fix: mirror the 7-page guard into the frac SDK's extraProgramPages copy
The guard landed on the ggov-sdk copy only; the two files are meant to be
identical, so the frac registry deploy would still have asked for more extra
program pages than AVM v13 allows and been rejected by the network instead of
by the SDK.
Git Commit 93319e30 Branch feat/avm13-computed-pages Document 1/3 ++ 2 --
tasosbit gGov
merge: feat/avm13-one-shot-upload into feat/avm13-computed-pages
Git Commit 311142f2 Branch feat/avm13-computed-pages Document 31/8,397 ++ 5,318 --
tasosbit gGov
feat: fill and read back all three approval pages
The third page reached the ABI but nothing could use it: createPeriod still read
the box back as two pages, a single app call could only buy 8192 bytes of box
write budget, and both SDK wrappers passed page3 empty.

- createPeriod reads three pages, like createInstance, so a program over 8192
  bytes is no longer truncated at appcreate time. Both read at the running
  offset, so an empty trailing page stays a no-op.
- splitApprovalPages fills all three. Its ceiling is 12282 bytes (3 * 4094),
  which is as much as v13's 16KB total-application-arguments cap allows: four
  encoded pages plus a method selector is over it.
- Box I/O budget is pooled across the group, so the upload spreads the
  references it needs over the upload call plus no-op increaseBudget companions
  — 12 references, two app calls, for a full three-page program.
- addPeriod/addInstance size the group's reference slots from the length of the
  box actually deployed, padding the same way when the read outgrows one call's
  8 slots. At today's sizes (period 4066, instance 6310) neither group gains a
  transaction.

Tests upload a 10000-byte program on both registries — past the 8188 two
arguments carry and past the 8192 one call's references buy — and read the box
back byte-for-byte. Creating an app from a >8192-byte box is not covered: that
needs a valid 12KB TEAL program, which nothing here has.
Git Commit 88ea4878 Branch feat/avm13-computed-pages Document 23/5,660 ++ 4,088 --
Merge 24242cb001acc2328900a9bb8663595ae65cc2d6 into 543110998c63b82a7f517c631c32ae62b9fbe9e3
Git Commit 67431c29 Branch pull/943/merge Document No file changes
Merge 37c276a4d489684d8859b98a6cbc1f81ad3f18a3 into 543110998c63b82a7f517c631c32ae62b9fbe9e3
Git Commit 364fd788 Branch pull/938/merge Document No file changes
Merge 9b55220693665bfc9e0027957402a6e0b439c54c into 543110998c63b82a7f517c631c32ae62b9fbe9e3
Git Commit 0683bb23 Branch pull/908/merge Document No file changes
Merge 0fb747f3e1701d52e1a888978f50cdc9478ed233 into 543110998c63b82a7f517c631c32ae62b9fbe9e3
Git Commit 379843da Branch pull/914/merge Document No file changes
Merge c3c8c50e4cb624fe7965be546800c74771819b90 into 543110998c63b82a7f517c631c32ae62b9fbe9e3
Git Commit 005d9d22 Branch pull/939/merge Document No file changes