Skip to content

Commit 04bdc2d

Browse files
author
Lars Gierth
authored
Merge pull request #128 from nichtich/master
Normalize hexadecimal syntax of codes
2 parents 019376e + e2df1de commit 04bdc2d

File tree

2 files changed

+24
-23
lines changed

2 files changed

+24
-23
lines changed

table.csv

+21-21
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name, tag, code, description
2-
identity, multihash, 0x0, raw binary
2+
identity, multihash, 0x00, raw binary
33
ip4, multiaddr, 0x04,
44
tcp, multiaddr, 0x06,
55
sha1, multihash, 0x11,
@@ -11,16 +11,16 @@ sha3-256, multihash, 0x16,
1111
sha3-224, multihash, 0x17,
1212
shake-128, multihash, 0x18,
1313
shake-256, multihash, 0x19,
14-
keccak-224, multihash, 0x1A, keccak has variable output length. The number specifies the core length
15-
keccak-256, multihash, 0x1B,
16-
keccak-384, multihash, 0x1C,
17-
keccak-512, multihash, 0x1D,
14+
keccak-224, multihash, 0x1a, keccak has variable output length. The number specifies the core length
15+
keccak-256, multihash, 0x1b,
16+
keccak-384, multihash, 0x1c,
17+
keccak-512, multihash, 0x1d,
1818
dccp, multiaddr, 0x21,
1919
murmur3-128, multihash, 0x22,
2020
murmur3-32, multihash, 0x23,
2121
ip6, multiaddr, 0x29,
22-
ip6zone, multiaddr, 0x2A,
23-
path, namespace, 0x2F, Namespace for string paths. Corresponds to `/` in ASCII.
22+
ip6zone, multiaddr, 0x2a,
23+
path, namespace, 0x2f, Namespace for string paths. Corresponds to `/` in ASCII.
2424
multicodec, multiformat, 0x30,
2525
multihash, multiformat, 0x31,
2626
multiaddr, multiformat, 0x32,
@@ -78,21 +78,21 @@ p2p-webrtc-direct, multiaddr, 0x0114,
7878
p2p-stardust, multiaddr, 0x0115,
7979
p2p-circuit, multiaddr, 0x0122,
8080
dag-json, ipld, 0x0129, MerkleDAG json
81-
udt, multiaddr, 0x012D,
82-
utp, multiaddr, 0x012E,
81+
udt, multiaddr, 0x012d,
82+
utp, multiaddr, 0x012e,
8383
unix, multiaddr, 0x0190,
84-
p2p, multiaddr, 0x01A5, libp2p
85-
ipfs, multiaddr, 0x01A5, libp2p (deprecated)
86-
https, multiaddr, 0x01BB,
87-
onion, multiaddr, 0x01BC,
88-
onion3, multiaddr, 0x01BD,
89-
garlic64, multiaddr, 0x01BE, I2P base64 (raw public key)
90-
garlic32, multiaddr, 0x01BF, I2P base32 (hashed public key or encoded public key/checksum+optional secret)
91-
quic, multiaddr, 0x01CC,
92-
ws, multiaddr, 0x01DD,
93-
wss, multiaddr, 0x01DE,
94-
p2p-websocket-star, multiaddr, 0x01DF,
95-
http, multiaddr, 0x01E0,
84+
p2p, multiaddr, 0x01a5, libp2p
85+
ipfs, multiaddr, 0x01a5, libp2p (deprecated)
86+
https, multiaddr, 0x01bb,
87+
onion, multiaddr, 0x01bc,
88+
onion3, multiaddr, 0x01bd,
89+
garlic64, multiaddr, 0x01be, I2P base64 (raw public key)
90+
garlic32, multiaddr, 0x01bf, I2P base32 (hashed public key or encoded public key/checksum+optional secret)
91+
quic, multiaddr, 0x01cc,
92+
ws, multiaddr, 0x01dd,
93+
wss, multiaddr, 0x01de,
94+
p2p-websocket-star, multiaddr, 0x01df,
95+
http, multiaddr, 0x01e0,
9696
x11, multihash, 0x1100,
9797
blake2b-8, multihash, 0xb201, Blake2b consists of 64 output lengths that give different hashes
9898
blake2b-16, multihash, 0xb202,

validate.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import csv
44
import sys
5+
import re
56

67
# We have some duplicates
78
ALIAS_TABLE = [
@@ -39,8 +40,8 @@ class CheckError(Exception):
3940
raise CheckError(f"empty protocol name for code '{code}'")
4041

4142
# Check code format
42-
if not code.startswith("0x"):
43-
raise CheckError(f"code for '{name}' doesn't start with 0x: '{code}'")
43+
if not re.match(r"^0x([0-9a-f][0-9a-f])+$", code):
44+
raise CheckError(f"code for '{name}' does not look like a byte sequence: '{code}'")
4445

4546
# Parse the code
4647
try:

0 commit comments

Comments
 (0)