0xMiden / 0xMiden/docs

Document v0.14 asset encoding in core-concepts/protocol/asset.md

Open
#270 1 comment 0 reactions 0 assignees View on GitHub
documentation
Dominant language
TypeScript
Stars
10
Forks
50
Avg merge
22d 23h
Merged PRs (30d)
1

Description

Not a protocol bug — the v0.14 asset encoding works as expected. The docs just don't define the canonical layout anywhere readable, so the Zoro team had to dig through Rust source to figure it out ([context](https://github.com/0xMiden/protocol/issues/2844)).

**Add an "Asset encoding" section to `docs/core-concepts/protocol/asset.md`** covering:

- The `ASSET_KEY` / `ASSET_VALUE` layout for fungible and non-fungible assets.
- When `asset_id_*` is zero (fungible) vs. taken from `DATA_HASH[0..2]` (non-fungible).
- The metadata low-byte on `faucet_id_suffix` and how `AssetCallbackFlag` packs into it.

Source of truth: `AssetVaultKey::to_word()` in `miden-protocol/src/asset/vault/vault_key.rs`.

**While in flight:**

- Fix `docs/core-concepts/protocol/protocol_library.md:168` — `create_non_fungible_asset` stdlib helper is missing the `enable_callbacks` flag in its `Inputs` row. Should mirror the fungible helper one row above.
- `docs/builder/migration/05-asset-vault-faucet.md` can keep its summary; just link out to the new `asset.md` section instead of redefining field semantics inline.

Mirror all changes in `versioned_docs/version-0.14/`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.