Ecosystem metrics
- New Repos
- 16
- down 36.0%
- Commits
- 862
- up 15.7%
- Releases
- 11
- up 83.3%
- Contributors
- 59
- up 25.5%
- Merges
- 12
- down 52.0%
Activity Overview
Commits and releases over time
- Commits
- Releases
- Authors
Repository Explorer
No repositories match that filter.
10593 commits in all time
May 14, 2026 16:41 – Aug 12, 2026 16:41 UTC
Merge 2c0593a20943624402079cbc948e101dc3480710 into 68e036affd9e62d0a64dcdb3f252eb0ee2e052d3
f786e1d6
pull/6706/merge
1/2 ++ 2 --
Bump Version, Remove buildnumber.dat and genesistimestamp.dat files.
2c0593a2
pull/6706/head
3/1 ++ 3 --
Merge remote-tracking branch 'origin/rel/stable' into relstable5.0.0-remerge
cc413cbd
pull/6706/head
3/4 ++ 2 --
Merge e0969fdc4fedc243b49bc2e6c69293e80530382b into 9306fe0d6d4c0041ab9eb7fa1a492bdbd790ec4d
871af42a
pull/401/merge
70/4,727 ++ 3,127 --
docs: state the box access opt-in flags in the AVM Box Access section
The app_box_* opcodes can operate on another application's boxes, but the AVM chapter never said this requires the accessed application's opt-in. Add a paragraph pointing at the ForeignBoxReads and FamilyBoxAccess parameters and the family reentrancy rule, which are specified in the ledger's Applications chapter.
f7c85b5a
pull/314/head
1/9 ++ 0 --
docs: refresh generated opcode docs from the go-algorand doc audit
Regenerated Appendix A and the auto-included opcode tables from algorand/go-algorand#6690, which audits the AVM opcode documentation. Notable box changes: the short descriptions now state the 64-byte name limit, and the shared availability/authorization/reentrancy prose no longer repeats under every box opcode, deferring to the normative sections of this spec instead.
85aa8640
pull/314/head
9/80 ++ 74 --
Merge 70057d9fbb6ed70c68daeff3a6afffd3f158258d into 68e036affd9e62d0a64dcdb3f252eb0ee2e052d3
69aaf5ff
pull/6690/merge
38/2,185 ++ 3,884 --
Doc: Move the shared box access rules out of the opcode extras
The availability, authorization, and reentrancy rules were repeated in the extra text of all 18 box opcodes. Shared semantics belong in prose outside the individual opcodes, as the byte math opcodes already do: every sentence is normatively covered in the specs repo (box name length, availability, the ClearState ban, the box-access flags, and the family reentrancy rule), and the AVM chapter's Box Access section gains a paragraph pointing at the authorization rules. Keep only op-specific extra text: the zero-fill note on the creates, the 4,096-byte advice on get/put, and the constant-length note on splice. The improved short descriptions, including the 64-byte name limit, are unchanged.
70057d9f
pull/6690/head
13/45 ++ 347 --
Merge 6ae14362bf21d6cd8cfd32579e4f7157e7f7838c into 2bb186e0a27bcf0b321e530f202ed6b7ecc5d1f0
2f415d9f
pull/15/merge
2/143 ++ 1 --
Close the cwd library-hijack in the loader that actually signs
There are two ctypes loaders for the same Falcon signing core:
sdk/src/trelyan_pq/falcon.py used by the SDK
contracts/falcon_det1024.py used by deploy_testnet.py and
test_inscription.py
Commit eb67e4a (2026-08-10, "close two local library/module load-path
hijack vectors", pre-audit findings TF-01/TF-02) removed the cwd-relative
default. `git show --stat eb67e4a` confirms it touched only two files, both
under sdk/. contracts/falcon_det1024.py has not been modified since the
initial commit a806f63 and still read:
_LIB_PATH = os.environ.get("FALCON_DET1024_LIB", "./libfalcondet1024.so")
A dlopen path containing a slash resolves against the process working
directory, so that default loads keygen, sign and verify out of whatever
./libfalcondet1024.so happens to be in cwd (CWE-426).
The unfixed copy is the one on the documented deployment path: README.md
tells the operator to run `python contracts/deploy_testnet.py` from the repo
root, and that script imports this module and calls keygen(),
sign_compressed() and verify_compressed() to mint a real inscription. So an
explicit pre-audit security fix was applied everywhere except the path that
signs. Two aggravating details: .gitignore excludes *.so/*.dylib/*.dll, so a
planted library never appears in `git status`; and until yesterday the CI
path filter excluded contracts/ entirely, so nothing here was ever executed.
Fix: default to "" and fail closed with the same message the SDK uses.
sdk/tests/test_loader_parity.py plants a decoy libfalcondet1024.{so,dylib,dll}
in a temp directory, runs each loader from there in a subprocess with
FALCON_DET1024_LIB unset, and requires refusal BEFORE the decoy is touched -
asserting the error names the missing variable and does NOT name the decoy.
Checking the constant alone would only prove a literal changed. A second test
guards the constant too, so a re-introduced relative default is obvious in
review.
Note the SDK case needs m.keygen(), not m.default_signer(): the loader is
lazy, so constructing the signer loads nothing and the test would pass
vacuously. Verified by mutation - restoring the old default turns both the
behavioural and the source test red; the fix turns them green.
The test lives in sdk/tests/ because that is what CI runs; contracts/ has no
test job, and a parity test parked where nothing executes it is the same
defect it exists to prevent.
Found by an adversarial claim-vs-enforcement sweep (TCE-03).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6ae14362
fix/contracts-loader-cwd-hijack
2/143 ++ 1 --
Merge e16c50c2888a6e481ab000458033956951cc18b1 into 75c72bf720cdf08705f25d121fcce3e3150f72e6
ed85b23c
pull/1115/merge
16/916 ++ 32 --
Merge 7c3ec16cd7f80798554a98e90606463cba694a48 into 3373832646a00d4285576642c42c4776cbf71f24
85ee4257
pull/640/merge
1/20 ++ 0 --
docs: add simulate fee estimation section
7c3ec16c
docs/simulate-usage-fees
1/20 ++ 0 --
Merge f8eee9bba75c22d10918be9c0c36d7e64c6856cf into 75c72bf720cdf08705f25d121fcce3e3150f72e6
efaa9247
pull/1115/merge
16/916 ++ 32 --
feat: challenge discout, empty refs, and new deltas
f8eee9bb
feat/v42
6/133 ++ 0 --
Merge branch 'generate/68e0f84a' into feat/v42
873d2e78
feat/v42
1/169 ++ 0 --
Merge remote-tracking branch 'origin/main' into feat/v42
# Conflicts: # examples/falcon.ts # src/falcon-signer.ts # src/logicsig.ts # src/pq-signer.ts # src/signer.ts # src/signing.ts # tests/12.PQ.ts # tests/cucumber/steps/steps.js
686e9f29
feat/v42
26/726 ++ 259 --
Merge 5196f9ee568136a55964876c38c434af2f1d83a7 into c16958b8238c18f3d0762c3772e296e9b7976a02
b172fcb7
pull/30/merge
40/3,356 ++ 98 --