Ecosystem metrics
- New Repos
- 19
- New
- Commits
- 825
- up 26.7%
- Releases
- 4
- down 33.3%
- Contributors
- 61
- up 22.0%
- Merges
- 13
- down 31.6%
Activity Overview
Commits and releases over time
- Commits
- Releases
- Authors
Repository Explorer
No repositories match that filter.
8878 commits in all time
Jul 23, 2026 03:34 – Oct 21, 2026 03:34 UTC
Merge 6a5d7fb5e56b7ad007891a48810a5f27537c9103 into 705038efd9e18f7d2d3d3d5ae3333da8c0f9336f
5d7bbc7b
pull/483/merge
56/3,362 ++ 100 --
feat(passkey): add a passkey wallet adapter with Falcon-1024 accounts
@txnlab/use-wallet-passkey derives a post-quantum (Falcon-1024) Algorand
account from a passkey's WebAuthn PRF output, so users need no extension,
app or seed phrase.
- connect() signs in with an existing passkey; connect({ create: true })
creates one, then evaluates the PRF scoped to it
- Derivation: entropy = PRF output for a frozen per-context label; the
keygen seed is SHA-512/256("PQK" || "f1" || entropy), as in algokey pq,
algosdk, Lute and Pera, so the exported 25-word phrase restores the
same account (pinned by the ARC-76 vectors)
- Every PRF ceremony uses userVerification: 'required'; a credential or
derived key that doesn't match the stored account fails closed
- The private key lives in a dedicated worker started from a Blob URL
(inlined at build time, so bundlers need no config); without session it
is dropped after every request, with session it stays until an idle
timeout and confirm chooses silent, presence or verify per request
- signTransactions signs with a pqsig; signData supports ARC-60 with
scheme falcon-1024-det; exportRecoveryPhrase returns the phrase after a
fresh verified ceremony; only public data is persisted
- Examples: register passkey({ session: true }) and a "Create passkey"
button in all seven; the React example adds a recovery phrase panel
- e2e: create, sign, authenticate, sign in again and resume, against a
Chromium virtual authenticator with PRF
- Docs: README, supported wallets, installation and the useWalletManager
examples
6a5d7fb5
feat/passkey-adapter
56/3,362 ++ 100 --
Notes added by 'git notes add'
76e0396e
notes/semantic-release-v5.2.0-next.1
1/1 ++ 0 --
chore(release): 5.2.0-next.1 [skip ci]
705038ef
feat/passkey-adapter
14/20 ++ 13 --
feat(frameworks): add useWalletManager to React and Vue (#482)
Framework hooks return plain wallet objects, so reaching an adapter's own methods (manager.getWallet(walletKey), cast to the adapter's type) needs the WalletManager. Solid and Svelte already export useWalletManager. - React: useWalletManager() returns the manager from WalletProvider and throws "useWalletManager must be used within the WalletProvider" outside it - Vue: useWalletManager() injects the manager installed by WalletManagerPlugin and throws "WalletManager plugin is not properly installed" without it; useWallet and useNetwork now use it, with the same error - Test both: same instance as the provider/plugin, and the error - Docs: add a useWalletManager API reference page and a short section in each framework guide
5806103b
feat/passkey-adapter
14/324 ++ 15 --
Merge 7fcc2ffaaad5d102b14891bc2f840df1a1014813 into c72ae3ca2a4e47054057760916a7f2e4585b5256
7781dc80
pull/6789/merge
2/3 ++ 3 --
build(deps): bump github.com/klauspost/compress in /tools/debug/algodump
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.18.0 to 1.18.7. - [Release notes](https://github.com/klauspost/compress/releases) - [Commits](https://github.com/klauspost/compress/compare/v1.18.0...v1.18.7) --- updated-dependencies: - dependency-name: github.com/klauspost/compress dependency-version: 1.18.7 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
7fcc2ffa
dependabot/go_modules/tools/debug/algodump/github.com/klauspost/compress-1.18.7
2/3 ++ 3 --
feat: iOS host video doesn't stream to android viewer in liquid stream sometimes (#449)
Co-authored-by: Michael T Chuang <github@michaeltchuang.com>
d4f0854a
main
6/94 ++ 25 --
feat(frameworks): add useWalletManager to React and Vue
Framework hooks return plain wallet objects, so reaching an adapter's own methods (manager.getWallet(walletKey), cast to the adapter's type) needs the WalletManager. Solid and Svelte already export useWalletManager. - React: useWalletManager() returns the manager from WalletProvider and throws "useWalletManager must be used within the WalletProvider" outside it - Vue: useWalletManager() injects the manager installed by WalletManagerPlugin and throws "WalletManager plugin is not properly installed" without it; useWallet and useNetwork now use it, with the same error - Test both: same instance as the provider/plugin, and the error - Docs: add a useWalletManager API reference page and a short section in each framework guide
eb5036c9
feat/use-wallet-manager
14/324 ++ 15 --
docs: estimate fees by simulating in the examples and signing guide (#481)
Falcon-1024 accounts pay an extra 2x the min fee per transaction, so the examples' "Send 0 ALGO" with the suggested fee was rejected for them. - Simulate the payment with emptyTransactionSigner, allowEmptySignatures and fixSigners, and set the fee from the group's groupUsage (millionths of the min fee), keeping the suggested fee if it's higher - Apply it in all seven examples with a small estimateFee helper - e2e: fake POST /v2/transactions/simulate with an algosdk-encoded response (group-usage 1000000) for the test transaction - Signing guide: add Estimating Fees, covering groups, wallets without empty signatures and per-byte fees under congestion; list emptyTransactionSigner in the useWallet reference
695fec91
main
10/316 ++ 7 --
Merge 36afe4c4e9e7877e79cc0998524c45d841ddb18f into d33dc2d524daea99524a018d84d33f53f4914a4a
08f6b2f6
pull/481/merge
10/316 ++ 7 --
docs: estimate fees by simulating in the examples and signing guide
Falcon-1024 accounts pay an extra 2x the min fee per transaction, so the examples' "Send 0 ALGO" with the suggested fee was rejected for them. - Simulate the payment with emptyTransactionSigner, allowEmptySignatures and fixSigners, and set the fee from the group's groupUsage (millionths of the min fee), keeping the suggested fee if it's higher - Apply it in all seven examples with a small estimateFee helper - e2e: fake POST /v2/transactions/simulate with an algosdk-encoded response (group-usage 1000000) for the test transaction - Signing guide: add Estimating Fees, covering groups, wallets without empty signatures and per-byte fees under congestion; list emptyTransactionSigner in the useWallet reference
36afe4c4
docs/falcon-fee-estimation
10/316 ++ 7 --
Notes added by 'git notes add'
a0b8aa0c
notes/semantic-release-v5.1.1
1/1 ++ 0 --
fix(core): recognize multisig, logic sig and post-quantum signatures in isSignedTxn (#480)
isSignedTxn only recognized an ed25519 `sig`. Adapters use it to skip
transactions that are already signed when they're given encoded
transactions, so a group with a transaction signed by a multisig, a logic
sig or a post-quantum (Falcon) key was treated as unsigned and crashed in
decodeUnsignedTransaction ("Unrecognized transaction type").
- Accept `sig`, `msig`, `lsig` or `pqsig`, as `SignedTransaction` does
- Test each signature type with transactions algosdk signs and encodes
- Test the Mnemonic adapter skipping a logic-sig-signed transaction in an
encoded group
1dc54734
main
3/90 ++ 4 --
fix(core): recognize multisig, logic sig and post-quantum signatures in isSignedTxn
isSignedTxn only recognized an ed25519 `sig`. Adapters use it to skip
transactions that are already signed when they're given encoded
transactions, so a group with a transaction signed by a multisig, a logic
sig or a post-quantum (Falcon) key was treated as unsigned and crashed in
decodeUnsignedTransaction ("Unrecognized transaction type").
- Accept `sig`, `msig`, `lsig` or `pqsig`, as `SignedTransaction` does
- Test each signature type with transactions algosdk signs and encodes
- Test the Mnemonic adapter skipping a logic-sig-signed transaction in an
encoded group
bc71d957
pull/480/head
3/90 ++ 4 --
Merge 4e9f6fa870fa8ca5e86e40eb746597e7a66c66a5 into c72ae3ca2a4e47054057760916a7f2e4585b5256
7b5f7377
pull/6664/merge
9/352 ++ 59 --
Merge 963ca5798ce8f62d9a460526b96e9e60eb1e2ff0 into c72ae3ca2a4e47054057760916a7f2e4585b5256
a94a4e47
pull/6788/merge
10/1,045 ++ 249 --