Skip to content

Commit 62f4ba0

Browse files
authored
Merge pull request #128 from rvagg/rvagg/filecoin-hashes
feat: add two filecoin hashes, without Sum() implementations
2 parents 2771720 + c1566b1 commit 62f4ba0

File tree

4 files changed

+50
-40
lines changed

4 files changed

+50
-40
lines changed

multihash.go

+44-38
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ const (
6868
// Deprecated: use MURMUR3_128
6969
MURMUR3 = MURMUR3_128
7070

71-
X11 = 0x1100
71+
SHA2_256_TRUNC254_PADDED = 0x1012
72+
X11 = 0x1100
73+
POSEIDON_BLS12_381_A1_FC1 = 0xb401
7274
)
7375

7476
func init() {
@@ -93,47 +95,51 @@ func init() {
9395

9496
// Names maps the name of a hash to the code
9597
var Names = map[string]uint64{
96-
"identity": IDENTITY,
97-
"sha1": SHA1,
98-
"sha2-256": SHA2_256,
99-
"sha2-512": SHA2_512,
100-
"sha3": SHA3_512,
101-
"sha3-224": SHA3_224,
102-
"sha3-256": SHA3_256,
103-
"sha3-384": SHA3_384,
104-
"sha3-512": SHA3_512,
105-
"dbl-sha2-256": DBL_SHA2_256,
106-
"murmur3-128": MURMUR3_128,
107-
"keccak-224": KECCAK_224,
108-
"keccak-256": KECCAK_256,
109-
"keccak-384": KECCAK_384,
110-
"keccak-512": KECCAK_512,
111-
"shake-128": SHAKE_128,
112-
"shake-256": SHAKE_256,
113-
"x11": X11,
114-
"md5": MD5,
98+
"identity": IDENTITY,
99+
"sha1": SHA1,
100+
"sha2-256": SHA2_256,
101+
"sha2-512": SHA2_512,
102+
"sha3": SHA3_512,
103+
"sha3-224": SHA3_224,
104+
"sha3-256": SHA3_256,
105+
"sha3-384": SHA3_384,
106+
"sha3-512": SHA3_512,
107+
"dbl-sha2-256": DBL_SHA2_256,
108+
"murmur3-128": MURMUR3_128,
109+
"keccak-224": KECCAK_224,
110+
"keccak-256": KECCAK_256,
111+
"keccak-384": KECCAK_384,
112+
"keccak-512": KECCAK_512,
113+
"shake-128": SHAKE_128,
114+
"shake-256": SHAKE_256,
115+
"sha2-256-trunc254-padded": SHA2_256_TRUNC254_PADDED,
116+
"x11": X11,
117+
"md5": MD5,
118+
"poseidon-bls12_381-a2-fc1": POSEIDON_BLS12_381_A1_FC1,
115119
}
116120

117121
// Codes maps a hash code to it's name
118122
var Codes = map[uint64]string{
119-
IDENTITY: "identity",
120-
SHA1: "sha1",
121-
SHA2_256: "sha2-256",
122-
SHA2_512: "sha2-512",
123-
SHA3_224: "sha3-224",
124-
SHA3_256: "sha3-256",
125-
SHA3_384: "sha3-384",
126-
SHA3_512: "sha3-512",
127-
DBL_SHA2_256: "dbl-sha2-256",
128-
MURMUR3_128: "murmur3-128",
129-
KECCAK_224: "keccak-224",
130-
KECCAK_256: "keccak-256",
131-
KECCAK_384: "keccak-384",
132-
KECCAK_512: "keccak-512",
133-
SHAKE_128: "shake-128",
134-
SHAKE_256: "shake-256",
135-
X11: "x11",
136-
MD5: "md5",
123+
IDENTITY: "identity",
124+
SHA1: "sha1",
125+
SHA2_256: "sha2-256",
126+
SHA2_512: "sha2-512",
127+
SHA3_224: "sha3-224",
128+
SHA3_256: "sha3-256",
129+
SHA3_384: "sha3-384",
130+
SHA3_512: "sha3-512",
131+
DBL_SHA2_256: "dbl-sha2-256",
132+
MURMUR3_128: "murmur3-128",
133+
KECCAK_224: "keccak-224",
134+
KECCAK_256: "keccak-256",
135+
KECCAK_384: "keccak-384",
136+
KECCAK_512: "keccak-512",
137+
SHAKE_128: "shake-128",
138+
SHAKE_256: "shake-256",
139+
SHA2_256_TRUNC254_PADDED: "sha2-256-trunc254-padded",
140+
X11: "x11",
141+
POSEIDON_BLS12_381_A1_FC1: "poseidon-bls12_381-a2-fc1",
142+
MD5: "md5",
137143
}
138144

139145
// DefaultLengths maps a hash code to it's default length

multihash_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ var tCodes = map[uint64]string{
3232
0x19: "shake-256",
3333
0x1100: "x11",
3434
0xd5: "md5",
35+
0x1012: "sha2-256-trunc254-padded",
36+
0xb401: "poseidon-bls12_381-a2-fc1",
3537
}
3638

3739
type TestCase struct {
@@ -54,6 +56,8 @@ var testCases = []TestCase{
5456
{"1af97f7818a28edfdfce5ec66dbdc7e871813816d7d585fe1f12475ded5b6502b7723b74e2ee36f2651a10a8eaca72aa9148c3c761aaceac8f6d6cc64381ed39", 0x19, "shake-256"},
5557
{"4bca2b137edc580fe50a88983ef860ebaca36c857b1f492839d6d7392452a63c82cbebc68e3b70a2a1480b4bb5d437a7cba6ecf9d89f9ff3ccd14cd6146ea7e7", 0x14, "sha3-512"},
5658
{"d41d8cd98f00b204e9800998ecf8427e", 0xd5, "md5"},
59+
{"14fcb37dc45fa9a3c492557121bd4d461c0db40e5dcfcaa98498bd238486c307", 0x1012, "sha2-256-trunc254-padded"},
60+
{"14fcb37dc45fa9a3c492557121bd4d461c0db40e5dcfcaa98498bd238486c307", 0xb401, "poseidon-bls12_381-a2-fc1"},
5761
}
5862

5963
func (tc TestCase) Multihash() (Multihash, error) {

spec/multicodec

spec/multihash

Submodule multihash updated 1 file

0 commit comments

Comments
 (0)