11450 commits in all time Mar 21, 2026 21:06 – Jun 19, 2026 21:06 UTC
dependabot[bot] devportal
Merge 76010b572483f3eacc1b453c97a772f9908f7ac6 into a716540d831618c0511a6d4cf94e4cbbc872aeab
Git Commit c7ce54e4 Branch pull/543/merge Document 2/14 ++ 59 --
dependabot[bot] devportal
Merge cf81e6bd85f5d43d1ea053c0a5ab1c8354998713 into a716540d831618c0511a6d4cf94e4cbbc872aeab
Git Commit 8c05ae8c Branch pull/565/merge Document 2/253 ++ 298 --
dependabot[bot] devportal
Merge 596f1d2a7802c64efb35579ea60d9ff50ebf0b24 into a716540d831618c0511a6d4cf94e4cbbc872aeab
Git Commit f8eb33b5 Branch pull/581/merge Document 2/763 ++ 366 --
dependabot[bot] devportal
Merge 97f4f981fa0bb5bd2d8018cf35ef8aea7a502dc2 into a716540d831618c0511a6d4cf94e4cbbc872aeab
Git Commit ed965b42 Branch pull/582/merge Document 2/1,066 ++ 1,087 --
dependabot[bot] devportal
Merge 2beaa632d45fb3e3745b31805658c42dcd460fc6 into a716540d831618c0511a6d4cf94e4cbbc872aeab
Git Commit 0c788efc Branch pull/583/merge Document 3/5 ++ 5 --
dependabot[bot] devportal
Merge f560d51487edbfbf248f5ab24cf5a0294f760ad5 into a716540d831618c0511a6d4cf94e4cbbc872aeab
Git Commit f8916622 Branch pull/585/merge Document 2/137 ++ 182 --
dependabot[bot] devportal
Merge 4db11e413eadb0ee77748dbf9ce2502899146f4d into a716540d831618c0511a6d4cf94e4cbbc872aeab
Git Commit 5ee760be Branch pull/597/merge Document 2/254 ++ 165 --
LoafPickleWW wen-tools
feat: implement API endpoint to fetch and parse active agents from Algorand registry contract
Git Commit 9239a048 Branch main Document 1/3 ++ 3 --
manuelmauro algonaut
Merge 15371747899c2fc95752c4b25ed09f46ce72a083 into 4144110e83b9afe1570a9e602f4a520dc997c6b7
Git Commit 677e24ac Branch pull/369/merge Document 58/3,680 ++ 41 --
manuelmauro algonaut
fix(nft): address CodeRabbit review comments
Crate:
- arc89: validate metadata size at the decode() boundary (reject > MAX_METADATA_SIZE);
  normalize the short-metadata identifier bit in compute_hash/set_hash so the
  hash always reflects the body size per ARC-89; expand the method-constant set
  to the full registry interface.
- asa: NftMint::fractional now validates decimals in 1..=19 (returns
  InvalidFractionalDecimals) — fixes the 10u64.pow overflow and the decimals=0
  inconsistency with is_fractional_nft.
- url: encapsulate Cid (private fields + v0/v1 constructors + accessors) so an
  invalid CIDv0 codec state is unrepresentable; return UnsupportedCid (not
  MalformedCid) for unsupported v1 multicodecs.
- royalty: clamp royalty_basis to MAX_BASIS_POINTS (10000) in royalty_for to
  prevent u128->u64 truncation; add the constant.
- arc69: require `standard` on the wire (drop the serde default) so a note that
  omits it is rejected by from_note.
- indexer: give Arc74Client a 30s default request timeout (+ with_timeout).

Docs:
- ADR: sync the D2 feature example with the shipped manifest (only `fetch`);
  add a language to the D3 fenced block (markdownlint MD040); fix the
  self-contradicting "Status is Proposed" line under an accepted ADR.

examples/nft/mint_arc19: use Cid::v1 for the encapsulated constructor.
Git Commit 15371747 Branch feat/algonaut-nft Document 9/231 ++ 55 --
Argimirodelpozo puya-ts
Merge 0073561a5d9673298d1ef3a23e4c2b6098dc09e9 into e56f6efde0b906a499824f49b7c6b6c1a330e60d
Git Commit c427608f Branch pull/383/merge Document 2/85 ++ 28 --
Argimirodelpozo puya-ts
chore: fix linter issue
Git Commit 0073561a Branch forbid-cyclic-structs Document 1/2 ++ 2 --
manuelmauro algonaut
Merge ab74d5652bb9746fb9bd8b1fb25a100c477e8a96 into 4144110e83b9afe1570a9e602f4a520dc997c6b7
Git Commit 4c167e1e Branch pull/369/merge Document 58/3,504 ++ 41 --
manuelmauro algonaut
ci: build the nft-feature-gated examples in CI and make
The examples/nft/* programs require `["nft", "algod"]`; with `nft` off by
default, the default clippy/check/test runs skipped them. Add `--features
nft` to the steps that compile examples:

- Makefile: `clippy` and `test` targets (so `make ci` builds and lints them).
- CI (general.yml): `cargo-check`, `cargo-clippy`, `cargo-test` jobs.

`nft` is additive (default-off), so enabling it on the --all-targets /
--examples steps is strictly more coverage and cannot mask a default-build
breakage. The wasm-check job stays default.
Git Commit ab74d565 Branch feat/algonaut-nft Document 2/13 ++ 7 --
giuliop go-algorand
Merge 2b19cf67ae303c00344d5546ad60c52fdd6f142d into bf88db5072f7a4ca3a38f50f6cfb01658e62dfec
Git Commit d852262a Branch pull/6592/merge Document 22/1,203 ++ 649 --
giuliop go-algorand
test: stabilize on-curve LogicSig fixtures
Git Commit 2b19cf67 Branch pull/6592/head Document 3/8 ++ 8 --
manuelmauro algonaut
Merge 37748379e13558b768e74182217c5e720e252b43 into 4144110e83b9afe1570a9e602f4a520dc997c6b7
Git Commit 4962d292 Branch pull/369/merge Document 56/3,491 ++ 34 --
manuelmauro algonaut
refactor(examples): group examples into category subfolders; algod-backed NFT examples
Organize every example under examples/<category>/ — client, contract,
app, asset, transaction, account, logic_sig, wallet, nft — with explicit
[[example]] path entries. The example `name` is unchanged, so
`cargo run --example <name>` keeps working.

Move the NFT examples out of algonaut_nft/examples and into examples/nft,
and rewrite them against a live algod instead of mocking: real
suggested_params, submit, and real asset ids returned from the network
(no DemoParams stub, no hardcoded AssetId). Gated on
required-features = ["nft", "algod"]:
- nft_mint_arc3   — pure NFT, ARC-3 off-chain metadata
- nft_mint_arc19  — mutable NFT; mint then UpdateAsset the reserve
- nft_mint_arc69  — on-chain metadata in the acfg note
- nft_soulbound   — full ARC-71 issue/hold/revoke across issuer + funded holder
- nft_arc89_box   — mint for a real id, build the ARC-89 box offline
Git Commit 37748379 Branch feat/algonaut-nft Document 44/494 ++ 456 --
cusma go-algorand
Merge 0a666cf4743c2a358b60bc3545a9f7f6ff110bdb into bf88db5072f7a4ca3a38f50f6cfb01658e62dfec
Git Commit 13e4a244 Branch pull/6639/merge Document 54/6,213 ++ 1,583 --
cusma go-algorand
fix: parallelize test
Git Commit 0a666cf4 Branch pull/6639/head Document 1/1 ++ 0 --
cusma go-algorand
chore: cr by @nullun, algokey command and shorthands
Git Commit a04d4fe8 Branch pull/6639/head Document 3/130 ++ 38 --
manuelmauro algonaut
refactor(nft): ergonomic minting builder, idiomatic API, and examples
Redesign the asa module around a fluent NftMint builder and make the
crate's API idiomatic, then add runnable examples that lead the UX.

asa:
- Replace the leaky create_pure_nft / create_fractional_nft free
  functions (which returned a half-built CreateAsset and told the caller
  via doc comment to attach url/hash/reserve themselves) with NftMint.
  NftMint::pure/fractional own the configuration; .arc3() computes the
  ARC-3 metadata hash and appends #arc3, .arc19() derives the reserve
  from a CID, .arc69() places metadata in the note. Terminals return a
  finished CreateAsset (into_create) or Transaction (build).
- Make the NFT-shape predicates an extension trait (NftShape) so they
  read as methods on AssetParams.
- Rework the ARC-71 Soulbound typestate so Held/Revoked carry the
  AssetId; claim/revoke are now total (no Option, no unwrap).

url: Cid and TemplateIpfsUrl gain Display / FromStr; reserve derivation
is now `impl From<Cid> for Address`; the free parse/render/convert
functions become methods.

arc89: add with_* flag setters so callers never poke raw flag bytes.

lib: ZERO_ADDRESS is a const (was a fn); add a curated prelude.

examples/: mint_pure_nft, mint_mutable_arc19, mint_onchain_arc69,
soulbound_credential, resolve_metadata, arc89_preview — each builds and
runs, demonstrating the new ergonomics end to end.

No backward-compat concerns: the crate is unreleased.
Git Commit d56b36cf Branch feat/algonaut-nft Document 11/952 ++ 196 --