Merge 922bb87799ddc8c4a123b7657e2231dd44ef9f61 into 4144110e83b9afe1570a9e602f4a520dc997c6b7
bbf2a269
pull/378/merge
1/1 ++ 1 --
Commits and releases over time
No repositories match that filter.
Updates the requirements on [base64](https://github.com/marshallpierce/rust-base64) to permit the latest version. - [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md) - [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.22.0...v0.23.0) --- updated-dependencies: - dependency-name: base64 dependency-version: 0.23.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [jsonschema](https://github.com/Stranger6667/jsonschema) to permit the latest version. - [Release notes](https://github.com/Stranger6667/jsonschema/releases) - [Changelog](https://github.com/Stranger6667/jsonschema/blob/master/CHANGELOG.md) - [Commits](https://github.com/Stranger6667/jsonschema/compare/cli-v0.46.0...ruby-v0.49.1) --- updated-dependencies: - dependency-name: jsonschema dependency-version: 0.49.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [jsonschema](https://github.com/Stranger6667/jsonschema) to permit the latest version. - [Release notes](https://github.com/Stranger6667/jsonschema/releases) - [Changelog](https://github.com/Stranger6667/jsonschema/blob/master/CHANGELOG.md) - [Commits](https://github.com/Stranger6667/jsonschema/compare/cli-v0.46.0...ruby-v0.48.1) --- updated-dependencies: - dependency-name: jsonschema dependency-version: 0.48.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [syn](https://github.com/dtolnay/syn) to permit the latest version. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.0...3.0.2) --- updated-dependencies: - dependency-name: syn dependency-version: 3.0.2 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [ed25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek) to permit the latest version. - [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases) - [Changelog](https://github.com/dalek-cryptography/curve25519-dalek/blob/3.0.0/CHANGELOG.md) - [Commits](https://github.com/dalek-cryptography/curve25519-dalek/commits/3.0.0) --- updated-dependencies: - dependency-name: ed25519-dalek dependency-version: 3.0.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [jsonschema](https://github.com/Stranger6667/jsonschema) to permit the latest version. - [Release notes](https://github.com/Stranger6667/jsonschema/releases) - [Changelog](https://github.com/Stranger6667/jsonschema/blob/master/CHANGELOG.md) - [Commits](https://github.com/Stranger6667/jsonschema/compare/cli-v0.46.0...ruby-v0.47.0) --- updated-dependencies: - dependency-name: jsonschema dependency-version: 0.47.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [num-bigint](https://github.com/rust-num/num-bigint) to permit the latest version. - [Changelog](https://github.com/rust-num/num-bigint/blob/master/RELEASES.md) - [Commits](https://github.com/rust-num/num-bigint/compare/num-bigint-0.4.6...num-bigint-0.5.1) --- updated-dependencies: - dependency-name: num-bigint dependency-version: 0.5.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [rand](https://github.com/rust-random/rand) to permit the latest version. - [Release notes](https://github.com/rust-random/rand/releases) - [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/rand/compare/0.8.5...0.10.2) --- updated-dependencies: - dependency-name: rand dependency-version: 0.10.2 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [getrandom](https://github.com/rust-random/getrandom) to permit the latest version. - [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/getrandom/compare/v0.2.0...v0.4.3) --- updated-dependencies: - dependency-name: getrandom dependency-version: 0.4.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
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.
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.
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
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.