You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue aims to extend the TokenMetadata required by Miden Confidential Token Standard. I’m also opening this issue as a response to the metadata section in the this discussion:
In addition, this issue and the related PR are aligned with the direction of the following conversation: #1949 and #1993
For the token standard, TokenMetadata currently covers:
decimals: since the value is stored as a felt, using 6 decimals is recommended. Higher decimals can make supplies and balances so small that they become impractical
Items to Discuss for the Token Standard:
description:
does not need to be defined as part of the standard. name:
must be the part of the standard contract_uri:
In the EIP for confidential fungible token standards, compliant tokens MUST implement contract_uri. In other words, this is not presented as an optional extension, it is part of the standard.
The primary motivation is to provide an additional mechanism for verifying critical public information associated with a token’s identity. From a compliant perspective, this acts as a complementary layer of validation. It is also offered as a standard feature on other chains such as Sui and Solana.
Therefore, contract_uri would be included as a mandatory part of the standard.
An unbounded URI may increase the DoS surface on Miden, so imposing a limit is reasonable. A practical bound could be 160–200 bytes, which corresponds to roughly 5–7 storage slots.
Encoding:
UTF-8
Metadata Management
The metadata is controlled by the owner of the network accounts.
The set_contract_uri procedure is not inherently part of the standard and is opinionated. The following options should be considered:
Do not implement it in the standard and users can implement it themselves if needed.
Introduce an optional flag:
Include a note indicating it is not part of the standard
Use an explicit naming convention such as optional_set_contract_uri
Use it with an optional flag as a part of the standard
#! Note
#! This procedure is not part of the Miden Confidential Token Standard.
#! It can be enabled optionally via a flag.
pub proc set_contract_uri
# exec.verify_owner
# set the new contract_uri
end
This issue aims to extend the
TokenMetadatarequired by Miden Confidential Token Standard. I’m also opening this issue as a response to the metadata section in the this discussion:In addition, this issue and the related PR are aligned with the direction of the following conversation: #1949 and #1993
For the token standard,
TokenMetadatacurrently covers:token_supply: currently circulating tokensmax supply: maximum capsymbol: (12-character ASCII; see Increase max allowed characters inTokenSymbol#2406)decimals: since the value is stored as a felt, using 6 decimals is recommended. Higher decimals can make supplies and balances so small that they become impracticalItems to Discuss for the Token Standard:
description:does not need to be defined as part of the standard.
name:must be the part of the standard
contract_uri:In the EIP for confidential fungible token standards, compliant tokens MUST implement contract_uri. In other words, this is not presented as an optional extension, it is part of the standard.
The primary motivation is to provide an additional mechanism for verifying critical public information associated with a token’s identity. From a compliant perspective, this acts as a complementary layer of validation. It is also offered as a standard feature on other chains such as Sui and Solana.
Therefore,
contract_uriwould be included as a mandatory part of the standard.Related reference for contract-level metadata in EIPs: https://eips.ethereum.org/EIPS/eip-7572.
nameLength constraints:
Encoding:
contract_uriAs noted above, contract_uri should be part of the standard.
Length constraints:
Encoding:
Metadata Management
The metadata is controlled by the
ownerof the network accounts.The
set_contract_uriprocedure is not inherently part of the standard and is opinionated. The following options should be considered:optional_set_contract_uri