diff --git a/_template/caip350.md b/_template/caip350.md index 8a77f38..3abab45 100644 --- a/_template/caip350.md +++ b/_template/caip350.md @@ -10,25 +10,27 @@ created: requires: --- -## Chain reference - +## Namespace Reference ChainType binary key: `0xXXXX` [CAIP-104] namespace: `XXXXX` +## Chain reference + ### Text representation - + + -##### Text representation -> CAIP-2 conversion +##### Text representation -> customary (CAIP-2) conversion -##### CAIP-2 - text representation conversion +##### Customary (CAIP-2) conversion - text representation conversion - + #### Binary representation diff --git a/eip155/caip350.md b/eip155/caip350.md index 9cdc68b..bfe5526 100644 --- a/eip155/caip350.md +++ b/eip155/caip350.md @@ -22,15 +22,19 @@ See [EIP-155] and [EIP-2294]. ### Text representation ``` -eip155: + ``` + Where `` is the decimal representation of the chain's `chainId`, without leading zeroes. -##### Text representation -> CAIP-2 conversion +> **Note:** Per [CAIP-350], the full chain identifier is `eip155:` (e.g., `eip155:1`, `eip155:10`). + + +##### Text representation -> customary (CAIP-2) conversion In the case where the `chainId` is larger than what can be represented in 32 decimal characters, the leading 32 characters should be used. -##### CAIP-2 - text representation conversion +##### Customary (CAIP-2) conversion - text representation conversion This transformation would not be fully deterministic in the case where `chainId`s larger than 10^32 are used. It is assumed wallets and other software will be able to differentiate between chains from just the leading 32 decimal characters, and use a lookup table of popular chains to complete the missing information to convert CAIP-2 identifiers to this standard. @@ -60,8 +64,11 @@ Bytes of EVM addresses are trivially stored as the payload. It's worth noting that addresses are currently 20 bytes, but that might change in the future, most likely to 32 bytes [^2] ### Text representation +``` +
+``` +Where `
` is the 20 bytes of an EVM address, hexadecimal-encoded according to [EIP-55]. -For text representation, the 20 bytes of EVM addresses should be hexadecimal-encoded according to [EIP-55]. This standard deliberately does not define the text representation of EVM addresses if they are extended in the future, since it's not possible to know which human-readable representation will be more familiar to users in such hypothetical scenario. This profile should be amended in the future to reflect it in such a case. diff --git a/solana/caip350.md b/solana/caip350.md index 3688996..05a916c 100644 --- a/solana/caip350.md +++ b/solana/caip350.md @@ -22,13 +22,19 @@ We chose to use the blockhash in full, as opposed to using the [CAIP-2], for con ### Text representation -The full base58btc-encoded genesis blockhash is used. This is larger than the [CAIP-2] representation. +``` + +``` +Where `` is the full 44-character base58btc-encoded genesis blockhash. This is larger than the [CAIP-2] representation (which truncates to 32 characters). -##### Text representation -> CAIP-2 conversion +> **Note:** Per [CAIP-350], the full chain identifier is `solana:` (e.g., `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d`). + + +##### Text representation -> customary (CAIP-2) conversion The leading 32 characters are used, and the rest discarded, in a manner similar to what is specified on [this namespace's CAIP-2](caip2.md) profile. -##### CAIP-2 - text representation conversion +##### Customary (CAIP-2) conversion?CAIP-2 - text representation conversion This transformation is not fully deterministic. It is assumed wallets and other software will be able to differentiate between chains with just the leading 32 base58btc-encoded characters, and use a lookup table of chains to complete the missing information to convert [CAIP-2] identifiers to those defined in this standard. @@ -61,7 +67,11 @@ Solana addresses are 32-byte public keys, conventionally displayed to users as b ### Text representation -base58btc-encoded ASCII of the entire public key bytes. +``` + +``` + +Where `` is the base58btc-encoded ASCII of the entire 32-byte public key. ##### Text representation -> native representation conversion