Ecosystem metrics
- New Repos
- 20
- New
- Commits
- 711
- down 3.4%
- Releases
- 1
- down 75.0%
- Contributors
- 44
- down 13.7%
- Merges
- 24
- down 4.0%
Activity Overview
Commits and releases over time
- Commits
- Releases
- Authors
Repository Explorer
No repositories match that filter.
8138 commits in all time
Jul 05, 2026 22:15 – Oct 03, 2026 22:15 UTC
Merge dee86600462a490debd4d9c630575c7b99047fd9 into 3874f81385d094c5974c5c2afff2af5a2c82b503
189272e8
pull/6756/merge
6/150 ++ 67 --
cmd/goal: support explicit --fee=0 and --tip for key registration commands
Fixes #6538
Key registration commands did not respect explicit `--fee=0` (or custom fees),
because libgoal functions `MakeUnsignedGoOnlineTx`, `MakeUnsignedGoOfflineTx`,
and `MakeUnsignedBecomeNonparticipatingTx` overwrite fee=0 with the suggested
network fee. Furthermore, `--fee` and `--tip` handling was duplicated across
clerk, asset, and application commands without a shared helper.
This change:
- Adds `applyFeeAndTip()` in `cmd/goal/common.go` to inspect whether `--fee`
was explicitly passed via `cmd.Flags().Changed("fee")`, overriding the
suggested fee with the user's explicit fee (including 0 for fee pooling),
and applying `--tip` if present.
- Refactors `changeAccountOnlineStatus()`, `generateAndRegisterPartKey()`,
`renewPartKeysInDir()`, and `markNonparticipatingCmd` to accept `*cobra.Command`
and invoke `applyFeeAndTip()`.
- Unifies `clerk.go`, `asset.go`, and `application.go` to use `applyFeeAndTip()`.
- Adds unit tests in `account_test.go` covering default fees, explicit zero fee,
custom fees, tip handling, and fallback behavior.
dee86600
pull/6756/head
6/150 ++ 67 --
Merge 71ea624b6214cc8d70bbeae2dfb1fc1e754a6035 into 3874f81385d094c5974c5c2afff2af5a2c82b503
08c7239e
pull/6741/merge
28/1,231 ++ 119 --
test: take the first address clerk compile reports
TealCompile matched any 58 character base32 string and kept matching, so the last one won. compile now reports the salted address after the program hash, which made the helper return the wrong one of the two, and every test that funds the address it returns spent from an account it had not funded: goalLogicSigTest, limitOrderTest and tealAndStatefulTealTest. It keeps the first match now, which is the program hash it has always returned. TealCompileSign is unaffected, since compile prints no address when it is signing, and tealConsensusTest already stops at the first match. Also add the t.Parallel that TestAuthorizeWithProgram was missing. cmd is the one tree the paralleltest linter is not excluded from.
71ea624b
pull/6741/head
2/4 ++ 1 --
goal: spend from a program's salted address
A program has two account addresses, so goal needs a way to say which one a transaction is authorized by. --salted picks the salted one; without it, the form is taken from whichever address the transaction's authorizer already matches, and failing that the program hash, so that existing uses keep the address and the behavior they had. That leaves --salted needed only where nothing else settles it: clerk send -F with no --from and no --signer, where the program's address becomes the sender. Reading the form off the authorizer rather than the sender is what makes a rekeyed account work: --signer names the authorizer, and that is the address the program has to match. LogicSigSanityCheck now covers whichever form a transaction uses, so goal still checks a program before submitting it. clerk send's -L branch built its transaction without the AuthAddr that -S had asked for, while the -F branch beside it set one. Both now go through the same path, so -L no longer silently drops --signer.
0d6df2f5
pull/6741/head
4/212 ++ 21 --
txn: authorize a transaction with an ls-scheme PQSig
A transaction may now be authorized by a LogicSig carried in its PQsig under the ls scheme, giving a program an account whose address is off the Edwards25519 curve. The program stands in for the public key and its arguments for the signature, so the address commits to the program: once the envelope shows the authorizer is that program's address, evaluating the program is the whole authorization, and there are no signature bytes to check. The program is measured and priced exactly like one in Lsig. PQSig.Lsig() hands back a LogicSig so the group size pool, the per-byte program surcharge and the evaluator can treat both the same way. The scheme itself adds no fee surcharge: a Falcon-style one would make the off-curve form cost more than the on-curve form it exists to replace. NewSigEvalParams decided whether to allocate the group's pooled LogicSig budget by looking for programs in Lsig alone. An ls transaction has none there, so without counting it each program would have started from a full LogicSigMaxCost of its own. Simulate's placeholder detection keys on empty signature bytes, which for an ls PQSig means a program that takes no arguments rather than a proof yet to come. Such a transaction is complete, and is now evaluated and traced instead of being swapped for a proxy signature. The algod admission checks need no change: rejectOnCurveLogicSigPrograms only looks at programs in Lsig, and enforcePQAuthorizerCompliance already derives its address from the PQSig, so it warns about a badly salted ls address the same way it warns about a Falcon one.
b859da1a
pull/6741/head
8/405 ++ 56 --
goal: show the pq address a program authorizes from
A LogicSig program now has two account addresses: the program hash it has
always had, and the salted ls-scheme address that is guaranteed off the
Edwards25519 curve. Both are worth knowing before funding one, so clerk
compile prints both.
The new address goes at the end of the existing line rather than on one of its
own, because scripts read that line by field: e2e-app-simple.sh takes
${PROGRAM[1]} from a word-split capture and hdr-access-logicsig.sh pipes
through awk '{print $2}'. Both still see the program hash they expect.
basics.PQLogicSigAddress derives the address, and with it the salt, from the
program alone. Nothing needs to store the salt: it is the lowest one giving an
off-curve address, so a program's arguments and bytes are enough to rebuild
the whole authorization.
929988fa
pull/6741/head
5/44 ++ 3 --
Merge 0c8c82665597c7b9ed0d80036c1a7958fc55b722 into 69e6af844b1ecb5787a45f132cce29daaac1cccf
3cbf00ab
pull/460/merge
10/240 ++ 228 --
chore(deps): update non-major dependencies
0c8c8266
renovate/non-major-dependencies
10/240 ++ 228 --
feat: add AlgoxNFT utility for recovering stuck marketplace listing NFTs
66ca6bfb
main
1/5 ++ 0 --
feat: add bulk claim tool and AlgoxNFT utility helpers
a12f4624
main
2/232 ++ 295 --
Merge f3062aac729f1ff8d3572b2d0d38376eeaf8b02d into 6b7bbb2d77c261320e27d0678ed77c8dacb36c44
221f1509
pull/1146/merge
1/59 ++ 18 --
build(deps-dev): bump axios from 1.8.4 to 1.20.0
Bumps [axios](https://github.com/axios/axios) from 1.8.4 to 1.20.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.8.4...v1.20.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.20.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
f3062aac
dependabot/npm_and_yarn/axios-1.20.0
1/59 ++ 18 --
Merge b4893501a49e8e09d4398334ee5e2063ee02ee07 into b0a3e71a91adfd1dfb97b5060d054618c2a147aa
a333ddb7
pull/66/merge
10/1,217 ++ 1,286 --
chore(deps): Update all non-major dependencies
b4893501
renovate/all-non-major-dependencies
10/1,217 ++ 1,286 --
Merge 694b363bd2a685b32c35d0c5359c9894831d3683 into b0a3e71a91adfd1dfb97b5060d054618c2a147aa
91eeadfc
pull/76/merge
3/141 ++ 265 --
chore(deps): Update dependency vitest to v4 [SECURITY]
694b363b
renovate/npm-vitest-vulnerability
3/141 ++ 265 --
Merge 5ea808d442e9fa5c50e0d9f0c3aea0667213990c into 26f1819a4b88761fbc3250257016705c690f5a6c
2270f0bc
pull/194/merge
1/1 ++ 0 --