mfmts 1.0.0.0 → 1.0.0.1
raw patch · 5 files changed
+1411/−1421 lines, 5 filesdep +ramdep −memorydep −mfmtsdep −textdep ~arraydep ~basedep ~basesystems
Dependencies added: ram
Dependencies removed: memory, mfmts, text
Dependency ranges changed: array, base, basesystems, bytestring, containers, crypton
Files
- CHANGE_LOG.md +18/−4
- README.md +2/−3
- mfmts.cabal +84/−112
- multicodec/MultiFormats/MultiCodec.hs +1302/−1298
- multihash/MultiFormats/MultiHash.hs +5/−4
CHANGE_LOG.md view
@@ -1,8 +1,22 @@-Hackage [`mfmts`](http://hackage-content.haskell.org/package/mfmts) package-change log:-=====================================================================+[`mfmts`](http://hackage-content.haskell.org/package/mfmts) change log:+======================================================================= -## Version 1.0.0.0+## Version 1.0.0.1 (04-01-2026)++This version aims to fix the issues with the hackage page and provide CI via+sourcehut builds.++- Set correct PVP bounds for cabal dependencies.+- Update `crypton` to ^>= 1.1, removing deprecated dependencies.+- Added CI/CD for builds.sr.ht:+ * Add `.builds/nudge-parents.yml` to automatically update this submodule in+ other sourcehut repositories.+ * Add `.builds/upload-candidate-docs.yml` to generate and upload documentation+ to Hackage.+ * Add `.builds/upload-candidate-package.yml` to generate and upload a package+ candidate to Hackage.++## Version 1.0.0.0 (03-12-2026) Introducing this package to Hackage! This release introduces the basic structure for the project and provides the following libraries:
README.md view
@@ -76,9 +76,8 @@ Reporting bugs -------------- -Report bugs to the ipfshs [ticket tracker](https://todo.sr.ht/~z0/ipfshs).-Please include a detailed description of your issue and steps or inputs to-reproduce it.+Bugs can be reported to the ipfshs [ticket tracker](+https://todo.sr.ht/~z0/ipfshs). Licensing ---------
mfmts.cabal view
@@ -1,138 +1,110 @@-cabal-version: 3.0-version: 1.0.0.0-name: mfmts-build-type: Simple-author: Zoey McBride-maintainer: zoeymcbride@mailbox.org-license: AGPL-3.0-or-later-license-file: LICENSE.txt-extra-doc-files: README.md, CHANGE_LOG.md-category: Hash, Codec, Protocol-synopsis: Implements multiformats specification+cabal-version: 3.0+version: 1.0.0.1+name: mfmts+build-type: Simple+author: Zoey McBride+maintainer: zoeymcbride@mailbox.org+license: AGPL-3.0-or-later+license-file: LICENSE.txt+category: Hash, Codec, Protocol+synopsis: Implements multiformats specification description: Implments the multiformats specification used in IPFS and other distributed systems.+extra-doc-files:+ README.md+ CHANGE_LOG.md+source-repository head {+ type: git+ location: https://git.sr.ht/~z0/mfmts+} -source-repository head- type: git- location: https://git.sr.ht/~z0/mfmts+-- | Sets flag for CI build toggle+flag CI {+ Description: CI Build options+ Default: False+ Manual: True+} --- | Base language settings. Imported for all libraries.-common haskell-settings- default-language: GHC2021- default-extensions: StrictData- ghc-options: -Wall -Wextra -Wno-unused-top-binds+-- | Sets flag for developer build toggle+flag Dev {+ Description: Developer build options+ Default: False+ Manual: True+} --- | Packages everything into a single library for distribution.-library- import: haskell-settings- hs-source-dirs:- cid- multibase- multicodec- multihash- varint- exposed-modules:- MultiFormats.VarInt,- MultiFormats.VarInt.Errors,- MultiFormats.MultiCodec,- MultiFormats.MultiBase,- MultiFormats.MultiBaseSystems,- MultiFormats.MultiHash,- MultiFormats.CID,- MultiFormats.CID.Errors,- MultiFormats.CID.Serializer,- MultiFormats.CID.Extractor,- MultiFormats.CID.Parser,- MultiFormats.CID.Internal,- MultiFormats.CID.Internal.CIDCodec,- MultiFormats.CID.Internal.CIDDecoder,- MultiFormats.CID.Internal.CIDHash,- MultiFormats.CID.Internal.CIDVersion,+-- | These dependency versions are known to be compatable with mfmts+common DefaultVersions { build-depends:- array >= 0.5.8 && < 0.6,- base >= 4.18.3 && < 4.19,- basesystems >= 1.0.0 && < 1.1,- bytestring >= 0.11.5 && < 0.12,- containers >= 0.6.7 && < 0.7,- text >= 1.2.5 && < 1.3,- crypton >= 1.0.6 && < 1.1,- memory >= 0.18.0 && < 0.19,+ base >= 4.18 && < 5,+ basesystems ^>= 1.0,+ array ^>= 0.5,+ bytestring ^>= 0.11,+ containers ^>= 0.6,+ crypton ^>= 1.1,+ ram >= 0.20.1 && < 0.23+} +-- | DefaultBuild: strict compilation + optimize for executable speed+common DefaultBuild {+ import: DefaultVersions+ ghc-options: -Wall -Wextra -Wno-unused-top-binds+} --- | Implements unsigned variable length integers.-library mfmts-varint- import: haskell-settings- hs-source-dirs: varint+-- | CIBuild: strict compilation + optimize for compile time+common CIBuild {+ import: DefaultVersions+ ghc-options: -Wall -Wextra -Werror -Wno-unused-top-binds+}++-- | Configures the Dev flag+common DevBuild {+ import: DefaultVersions+ ghc-options: -Wall -Wextra -Wno-unused-top-binds+}+++-- | Configures mfmts+library {+ default-language: GHC2021+ default-extensions: StrictData+ if flag(Dev) {+ import: DevBuild+ }+ elif flag(CI) {+ import: CIBuild+ }+ else {+ import: DefaultBuild+ } exposed-modules:+ -- * Unsigned binary varints MultiFormats.VarInt, MultiFormats.VarInt.Errors,- build-depends:- base >= 4.18.3 && < 4.19,- bytestring >= 0.11.5 && < 0.12,- containers >= 0.6.7 && < 0.7,---- | Lookup table for MultiCodecs. Generated from Python.-library mfmts-multicodec- import: haskell-settings- hs-source-dirs: multicodec- exposed-modules:+ -- * Multicodecs for identifying data in CID MultiFormats.MultiCodec,- build-depends:- base >= 4.18.3 && < 4.19,- bytestring >= 0.11.5 && < 0.12,- containers >= 0.6.7 && < 0.7,- mfmts-varint---- | Encode/decode mutibase strings with identifying prefix.-library mfmts-multibase- import: haskell-settings- hs-source-dirs: multibase- exposed-modules:+ -- * Multibase for labeling identifying basesystems via prefix MultiFormats.MultiBase, MultiFormats.MultiBaseSystems,- build-depends:- base >= 4.18.3 && < 4.19,- array >= 0.5.8 && < 0.6,- bytestring >= 0.11.5 && < 0.12,- containers >= 0.6.7 && < 0.7,- text >= 1.2.5 && < 1.3,- basesystems >= 1.0.0 && < 1.1,---- | Associates MultiCodecs for hash functions with implementations.-library mfmts-multihash- import: haskell-settings- hs-source-dirs: multihash- exposed-modules:+ -- * Associates various hash functions with their Mutlicodec identifier MultiFormats.MultiHash,- build-depends:- base >= 4.18.3 && < 4.19,- bytestring >= 0.11.5 && < 0.12,- containers >= 0.6.7 && < 0.7,- crypton >= 1.0.6 && < 1.1,- memory >= 0.18.0 && < 0.19,- mfmts-multicodec---- | Modules for reading/writing CIDs.-library mfmts-cid- import: haskell-settings- hs-source-dirs: cid- exposed-modules:+ -- * CID definitions MultiFormats.CID, MultiFormats.CID.Errors,+ -- * CID interfaces MultiFormats.CID.Serializer, MultiFormats.CID.Extractor, MultiFormats.CID.Parser,+ -- * Implements Extractors, Serializers, and Parsers for CID components MultiFormats.CID.Internal, MultiFormats.CID.Internal.CIDCodec, MultiFormats.CID.Internal.CIDDecoder, MultiFormats.CID.Internal.CIDHash, MultiFormats.CID.Internal.CIDVersion,- build-depends:- base >= 4.18.3 && < 4.19,- bytestring >= 0.11.5 && < 0.12,- basesystems >= 1.0.0 && < 1.1,- mfmts-multibase,- mfmts-multihash,- mfmts-multicodec,- mfmts-varint,+ hs-source-dirs:+ cid+ varint+ multihash+ multibase+ multicodec+}
multicodec/MultiFormats/MultiCodec.hs view
@@ -1,1299 +1,1303 @@ -- | Module : MultiFormats.MultiCodec--- Description : Implements lookup table for multicodecs--- Copyright : Zoey McBride (c) 2026--- License : AGPL-3.0-or-later--- Maintainer : zoeymcbride@mailbox.org--- Stability : experimental------ Provides a lookup table for multicodec values and names. This file is--- generated automatically by `python/MultiCodec/generate_module.py` and was--- last updated on <DATE>.-module MultiFormats.MultiCodec- ( MultiCodec (MultiCodec, multiCodecValue),- resolveCodecValue,- resolveCodecName,- gitCommitHash,- gitCommitDate,- )-where--import Data.Map (Map)-import Data.Map qualified as LazyMap-import Data.Maybe (fromMaybe)-import MultiFormats.VarInt (VarInt)---- | Represents MultiCodec code.-newtype MultiCodec = MultiCodec {multiCodecValue :: VarInt} deriving (Eq, Ord)--instance Show MultiCodec where- show codec = fromMaybe "<invalid codec>" $ resolveCodecName codec---- | Resolves MultiCodec code from its string name.-resolveCodecValue :: String -> Maybe MultiCodec-resolveCodecValue name = MultiCodec <$> LazyMap.lookup name nameToCodec---- | Resolves MultiCodec name from its numeric code.-resolveCodecName :: MultiCodec -> Maybe String-resolveCodecName (MultiCodec codec) = LazyMap.lookup codec codecToName---- | The git hash for table.csv used to generate this file.-gitCommitHash :: String-gitCommitHash = "8167547c160b7904b755b9a7eef7c391e90552e4"---- | This is the date the table.csv was commited.-gitCommitDate :: String-gitCommitDate = "2026-02-13 15:12:08 +0100"--nameToCodec :: Map String VarInt-nameToCodec =- LazyMap.fromList- [ ("identity", 0x00),- ("cidv1", 0x01),- ("cidv2", 0x02),- ("cidv3", 0x03),- ("ip4", 0x04),- ("tcp", 0x06),- ("sha1", 0x11),- ("sha2-256", 0x12),- ("sha2-512", 0x13),- ("sha3-512", 0x14),- ("sha3-384", 0x15),- ("sha3-256", 0x16),- ("sha3-224", 0x17),- ("shake-128", 0x18),- ("shake-256", 0x19),- ("keccak-224", 0x1a),- ("keccak-256", 0x1b),- ("keccak-384", 0x1c),- ("keccak-512", 0x1d),- ("blake3", 0x1e),- ("sha2-384", 0x20),- ("dccp", 0x21),- ("murmur3-x64-64", 0x22),- ("murmur3-32", 0x23),- ("ip6", 0x29),- ("ip6zone", 0x2a),- ("ipcidr", 0x2b),- ("path", 0x2f),- ("multicodec", 0x30),- ("multihash", 0x31),- ("multiaddr", 0x32),- ("multibase", 0x33),- ("varsig", 0x34),- ("dns", 0x35),- ("dns4", 0x36),- ("dns6", 0x37),- ("dnsaddr", 0x38),- ("protobuf", 0x50),- ("cbor", 0x51),- ("raw", 0x55),- ("dbl-sha2-256", 0x56),- ("rlp", 0x60),- ("bencode", 0x63),- ("dag-pb", 0x70),- ("dag-cbor", 0x71),- ("libp2p-key", 0x72),- ("git-raw", 0x78),- ("torrent-info", 0x7b),- ("torrent-file", 0x7c),- ("blake3-hashseq", 0x80),- ("leofcoin-block", 0x81),- ("leofcoin-tx", 0x82),- ("leofcoin-pr", 0x83),- ("sctp", 0x84),- ("dag-jose", 0x85),- ("dag-cose", 0x86),- ("lbry", 0x8c),- ("eth-block", 0x90),- ("eth-block-list", 0x91),- ("eth-tx-trie", 0x92),- ("eth-tx", 0x93),- ("eth-tx-receipt-trie", 0x94),- ("eth-tx-receipt", 0x95),- ("eth-state-trie", 0x96),- ("eth-account-snapshot", 0x97),- ("eth-storage-trie", 0x98),- ("eth-receipt-log-trie", 0x99),- ("eth-receipt-log", 0x9a),- ("aes-128", 0xa0),- ("aes-192", 0xa1),- ("aes-256", 0xa2),- ("chacha-128", 0xa3),- ("chacha-256", 0xa4),- ("bitcoin-block", 0xb0),- ("bitcoin-tx", 0xb1),- ("bitcoin-witness-commitment", 0xb2),- ("zcash-block", 0xc0),- ("zcash-tx", 0xc1),- ("caip-50", 0xca),- ("streamid", 0xce),- ("stellar-block", 0xd0),- ("stellar-tx", 0xd1),- ("md4", 0xd4),- ("md5", 0xd5),- ("decred-block", 0xe0),- ("decred-tx", 0xe1),- ("ipld", 0xe2),- ("ipfs", 0xe3),- ("swarm", 0xe4),- ("ipns", 0xe5),- ("zeronet", 0xe6),- ("secp256k1-pub", 0xe7),- ("dnslink", 0xe8),- ("bls12_381-g1-pub", 0xea),- ("bls12_381-g2-pub", 0xeb),- ("x25519-pub", 0xec),- ("ed25519-pub", 0xed),- ("bls12_381-g1g2-pub", 0xee),- ("sr25519-pub", 0xef),- ("dash-block", 0xf0),- ("dash-tx", 0xf1),- ("swarm-manifest", 0xfa),- ("swarm-feed", 0xfb),- ("beeson", 0xfc),- ("udp", 0x0111),- ("webrtc-direct", 0x0118),- ("webrtc", 0x0119),- ("p2p-circuit", 0x0122),- ("dag-json", 0x0129),- ("udt", 0x012d),- ("utp", 0x012e),- ("crc32", 0x0132),- ("crc64-ecma", 0x0164),- ("crc64-nvme", 0x0165),- ("unix", 0x0190),- ("thread", 0x0196),- ("p2p", 0x01a5),- ("https", 0x01bb),- ("onion", 0x01bc),- ("onion3", 0x01bd),- ("garlic64", 0x01be),- ("garlic32", 0x01bf),- ("tls", 0x01c0),- ("sni", 0x01c1),- ("noise", 0x01c6),- ("shs", 0x01c8),- ("quic", 0x01cc),- ("quic-v1", 0x01cd),- ("webtransport", 0x01d1),- ("certhash", 0x01d2),- ("ws", 0x01dd),- ("wss", 0x01de),- ("p2p-websocket-star", 0x01df),- ("http", 0x01e0),- ("http-path", 0x01e1),- ("swhid-1-snp", 0x01f0),- ("json", 0x0200),- ("messagepack", 0x0201),- ("car", 0x0202),- ("x509-certificate", 0x0210),- ("ipns-record", 0x0300),- ("libp2p-peer-record", 0x0301),- ("libp2p-relay-rsvp", 0x0302),- ("memorytransport", 0x0309),- ("car-index-sorted", 0x0400),- ("car-multihash-index-sorted", 0x0401),- ("transport-bitswap", 0x0900),- ("transport-graphsync-filecoinv1", 0x0910),- ("transport-ipfs-gateway-http", 0x0920),- ("transport-filecoin-piece-http", 0x0930),- ("multidid", 0x0d1d),- ("fr32-sha256-trunc254-padbintree", 0x1011),- ("sha2-256-trunc254-padded", 0x1012),- ("sha2-224", 0x1013),- ("sha2-512-224", 0x1014),- ("sha2-512-256", 0x1015),- ("murmur3-x64-128", 0x1022),- ("ripemd-128", 0x1052),- ("ripemd-160", 0x1053),- ("ripemd-256", 0x1054),- ("ripemd-320", 0x1055),- ("x11", 0x1100),- ("p256-pub", 0x1200),- ("p384-pub", 0x1201),- ("p521-pub", 0x1202),- ("ed448-pub", 0x1203),- ("x448-pub", 0x1204),- ("rsa-pub", 0x1205),- ("sm2-pub", 0x1206),- ("vlad", 0x1207),- ("provenance-log", 0x1208),- ("provenance-log-entry", 0x1209),- ("provenance-log-script", 0x120a),- ("mlkem-512-pub", 0x120b),- ("mlkem-768-pub", 0x120c),- ("mlkem-1024-pub", 0x120d),- ("mldsa-44-pub", 0x1210),- ("mldsa-65-pub", 0x1211),- ("mldsa-87-pub", 0x1212),- ("slhdsa-sha2-128s-pub", 0x1220),- ("slhdsa-shake-128s-pub", 0x1221),- ("slhdsa-sha2-128f-pub", 0x1222),- ("slhdsa-shake-128f-pub", 0x1223),- ("slhdsa-sha2-192s-pub", 0x1224),- ("slhdsa-shake-192s-pub", 0x1225),- ("slhdsa-sha2-192f-pub", 0x1226),- ("slhdsa-shake-192f-pub", 0x1227),- ("slhdsa-sha2-256s-pub", 0x1228),- ("slhdsa-shake-256s-pub", 0x1229),- ("slhdsa-sha2-256f-pub", 0x122a),- ("slhdsa-shake-256f-pub", 0x122b),- ("multisig", 0x1239),- ("multikey", 0x123a),- ("nonce", 0x123b),- ("ed25519-priv", 0x1300),- ("secp256k1-priv", 0x1301),- ("x25519-priv", 0x1302),- ("sr25519-priv", 0x1303),- ("rsa-priv", 0x1305),- ("p256-priv", 0x1306),- ("p384-priv", 0x1307),- ("p521-priv", 0x1308),- ("bls12_381-g1-priv", 0x1309),- ("bls12_381-g2-priv", 0x130a),- ("bls12_381-g1g2-priv", 0x130b),- ("bls12_381-g1-pub-share", 0x130c),- ("bls12_381-g2-pub-share", 0x130d),- ("bls12_381-g1-priv-share", 0x130e),- ("bls12_381-g2-priv-share", 0x130f),- ("sm2-priv", 0x1310),- ("ed448-priv", 0x1311),- ("x448-priv", 0x1312),- ("mlkem-512-priv", 0x1313),- ("mlkem-768-priv", 0x1314),- ("mlkem-1024-priv", 0x1315),- ("jwk_jcs-priv", 0x1316),- ("lamport-sha3-512-pub", 0x1a14),- ("lamport-sha3-384-pub", 0x1a15),- ("lamport-sha3-256-pub", 0x1a16),- ("lamport-sha3-512-priv", 0x1a24),- ("lamport-sha3-384-priv", 0x1a25),- ("lamport-sha3-256-priv", 0x1a26),- ("lamport-sha3-512-priv-share", 0x1a34),- ("lamport-sha3-384-priv-share", 0x1a35),- ("lamport-sha3-256-priv-share", 0x1a36),- ("lamport-sha3-512-sig", 0x1a44),- ("lamport-sha3-384-sig", 0x1a45),- ("lamport-sha3-256-sig", 0x1a46),- ("lamport-sha3-512-sig-share", 0x1a54),- ("lamport-sha3-384-sig-share", 0x1a55),- ("lamport-sha3-256-sig-share", 0x1a56),- ("kangarootwelve", 0x1d01),- ("aes-gcm-256", 0x2000),- ("silverpine", 0x3f42),- ("sm3-256", 0x534d),- ("sha256a", 0x7012),- ("chacha20-poly1305", 0xa000),- ("blake2b-8", 0xb201),- ("blake2b-16", 0xb202),- ("blake2b-24", 0xb203),- ("blake2b-32", 0xb204),- ("blake2b-40", 0xb205),- ("blake2b-48", 0xb206),- ("blake2b-56", 0xb207),- ("blake2b-64", 0xb208),- ("blake2b-72", 0xb209),- ("blake2b-80", 0xb20a),- ("blake2b-88", 0xb20b),- ("blake2b-96", 0xb20c),- ("blake2b-104", 0xb20d),- ("blake2b-112", 0xb20e),- ("blake2b-120", 0xb20f),- ("blake2b-128", 0xb210),- ("blake2b-136", 0xb211),- ("blake2b-144", 0xb212),- ("blake2b-152", 0xb213),- ("blake2b-160", 0xb214),- ("blake2b-168", 0xb215),- ("blake2b-176", 0xb216),- ("blake2b-184", 0xb217),- ("blake2b-192", 0xb218),- ("blake2b-200", 0xb219),- ("blake2b-208", 0xb21a),- ("blake2b-216", 0xb21b),- ("blake2b-224", 0xb21c),- ("blake2b-232", 0xb21d),- ("blake2b-240", 0xb21e),- ("blake2b-248", 0xb21f),- ("blake2b-256", 0xb220),- ("blake2b-264", 0xb221),- ("blake2b-272", 0xb222),- ("blake2b-280", 0xb223),- ("blake2b-288", 0xb224),- ("blake2b-296", 0xb225),- ("blake2b-304", 0xb226),- ("blake2b-312", 0xb227),- ("blake2b-320", 0xb228),- ("blake2b-328", 0xb229),- ("blake2b-336", 0xb22a),- ("blake2b-344", 0xb22b),- ("blake2b-352", 0xb22c),- ("blake2b-360", 0xb22d),- ("blake2b-368", 0xb22e),- ("blake2b-376", 0xb22f),- ("blake2b-384", 0xb230),- ("blake2b-392", 0xb231),- ("blake2b-400", 0xb232),- ("blake2b-408", 0xb233),- ("blake2b-416", 0xb234),- ("blake2b-424", 0xb235),- ("blake2b-432", 0xb236),- ("blake2b-440", 0xb237),- ("blake2b-448", 0xb238),- ("blake2b-456", 0xb239),- ("blake2b-464", 0xb23a),- ("blake2b-472", 0xb23b),- ("blake2b-480", 0xb23c),- ("blake2b-488", 0xb23d),- ("blake2b-496", 0xb23e),- ("blake2b-504", 0xb23f),- ("blake2b-512", 0xb240),- ("blake2s-8", 0xb241),- ("blake2s-16", 0xb242),- ("blake2s-24", 0xb243),- ("blake2s-32", 0xb244),- ("blake2s-40", 0xb245),- ("blake2s-48", 0xb246),- ("blake2s-56", 0xb247),- ("blake2s-64", 0xb248),- ("blake2s-72", 0xb249),- ("blake2s-80", 0xb24a),- ("blake2s-88", 0xb24b),- ("blake2s-96", 0xb24c),- ("blake2s-104", 0xb24d),- ("blake2s-112", 0xb24e),- ("blake2s-120", 0xb24f),- ("blake2s-128", 0xb250),- ("blake2s-136", 0xb251),- ("blake2s-144", 0xb252),- ("blake2s-152", 0xb253),- ("blake2s-160", 0xb254),- ("blake2s-168", 0xb255),- ("blake2s-176", 0xb256),- ("blake2s-184", 0xb257),- ("blake2s-192", 0xb258),- ("blake2s-200", 0xb259),- ("blake2s-208", 0xb25a),- ("blake2s-216", 0xb25b),- ("blake2s-224", 0xb25c),- ("blake2s-232", 0xb25d),- ("blake2s-240", 0xb25e),- ("blake2s-248", 0xb25f),- ("blake2s-256", 0xb260),- ("skein256-8", 0xb301),- ("skein256-16", 0xb302),- ("skein256-24", 0xb303),- ("skein256-32", 0xb304),- ("skein256-40", 0xb305),- ("skein256-48", 0xb306),- ("skein256-56", 0xb307),- ("skein256-64", 0xb308),- ("skein256-72", 0xb309),- ("skein256-80", 0xb30a),- ("skein256-88", 0xb30b),- ("skein256-96", 0xb30c),- ("skein256-104", 0xb30d),- ("skein256-112", 0xb30e),- ("skein256-120", 0xb30f),- ("skein256-128", 0xb310),- ("skein256-136", 0xb311),- ("skein256-144", 0xb312),- ("skein256-152", 0xb313),- ("skein256-160", 0xb314),- ("skein256-168", 0xb315),- ("skein256-176", 0xb316),- ("skein256-184", 0xb317),- ("skein256-192", 0xb318),- ("skein256-200", 0xb319),- ("skein256-208", 0xb31a),- ("skein256-216", 0xb31b),- ("skein256-224", 0xb31c),- ("skein256-232", 0xb31d),- ("skein256-240", 0xb31e),- ("skein256-248", 0xb31f),- ("skein256-256", 0xb320),- ("skein512-8", 0xb321),- ("skein512-16", 0xb322),- ("skein512-24", 0xb323),- ("skein512-32", 0xb324),- ("skein512-40", 0xb325),- ("skein512-48", 0xb326),- ("skein512-56", 0xb327),- ("skein512-64", 0xb328),- ("skein512-72", 0xb329),- ("skein512-80", 0xb32a),- ("skein512-88", 0xb32b),- ("skein512-96", 0xb32c),- ("skein512-104", 0xb32d),- ("skein512-112", 0xb32e),- ("skein512-120", 0xb32f),- ("skein512-128", 0xb330),- ("skein512-136", 0xb331),- ("skein512-144", 0xb332),- ("skein512-152", 0xb333),- ("skein512-160", 0xb334),- ("skein512-168", 0xb335),- ("skein512-176", 0xb336),- ("skein512-184", 0xb337),- ("skein512-192", 0xb338),- ("skein512-200", 0xb339),- ("skein512-208", 0xb33a),- ("skein512-216", 0xb33b),- ("skein512-224", 0xb33c),- ("skein512-232", 0xb33d),- ("skein512-240", 0xb33e),- ("skein512-248", 0xb33f),- ("skein512-256", 0xb340),- ("skein512-264", 0xb341),- ("skein512-272", 0xb342),- ("skein512-280", 0xb343),- ("skein512-288", 0xb344),- ("skein512-296", 0xb345),- ("skein512-304", 0xb346),- ("skein512-312", 0xb347),- ("skein512-320", 0xb348),- ("skein512-328", 0xb349),- ("skein512-336", 0xb34a),- ("skein512-344", 0xb34b),- ("skein512-352", 0xb34c),- ("skein512-360", 0xb34d),- ("skein512-368", 0xb34e),- ("skein512-376", 0xb34f),- ("skein512-384", 0xb350),- ("skein512-392", 0xb351),- ("skein512-400", 0xb352),- ("skein512-408", 0xb353),- ("skein512-416", 0xb354),- ("skein512-424", 0xb355),- ("skein512-432", 0xb356),- ("skein512-440", 0xb357),- ("skein512-448", 0xb358),- ("skein512-456", 0xb359),- ("skein512-464", 0xb35a),- ("skein512-472", 0xb35b),- ("skein512-480", 0xb35c),- ("skein512-488", 0xb35d),- ("skein512-496", 0xb35e),- ("skein512-504", 0xb35f),- ("skein512-512", 0xb360),- ("skein1024-8", 0xb361),- ("skein1024-16", 0xb362),- ("skein1024-24", 0xb363),- ("skein1024-32", 0xb364),- ("skein1024-40", 0xb365),- ("skein1024-48", 0xb366),- ("skein1024-56", 0xb367),- ("skein1024-64", 0xb368),- ("skein1024-72", 0xb369),- ("skein1024-80", 0xb36a),- ("skein1024-88", 0xb36b),- ("skein1024-96", 0xb36c),- ("skein1024-104", 0xb36d),- ("skein1024-112", 0xb36e),- ("skein1024-120", 0xb36f),- ("skein1024-128", 0xb370),- ("skein1024-136", 0xb371),- ("skein1024-144", 0xb372),- ("skein1024-152", 0xb373),- ("skein1024-160", 0xb374),- ("skein1024-168", 0xb375),- ("skein1024-176", 0xb376),- ("skein1024-184", 0xb377),- ("skein1024-192", 0xb378),- ("skein1024-200", 0xb379),- ("skein1024-208", 0xb37a),- ("skein1024-216", 0xb37b),- ("skein1024-224", 0xb37c),- ("skein1024-232", 0xb37d),- ("skein1024-240", 0xb37e),- ("skein1024-248", 0xb37f),- ("skein1024-256", 0xb380),- ("skein1024-264", 0xb381),- ("skein1024-272", 0xb382),- ("skein1024-280", 0xb383),- ("skein1024-288", 0xb384),- ("skein1024-296", 0xb385),- ("skein1024-304", 0xb386),- ("skein1024-312", 0xb387),- ("skein1024-320", 0xb388),- ("skein1024-328", 0xb389),- ("skein1024-336", 0xb38a),- ("skein1024-344", 0xb38b),- ("skein1024-352", 0xb38c),- ("skein1024-360", 0xb38d),- ("skein1024-368", 0xb38e),- ("skein1024-376", 0xb38f),- ("skein1024-384", 0xb390),- ("skein1024-392", 0xb391),- ("skein1024-400", 0xb392),- ("skein1024-408", 0xb393),- ("skein1024-416", 0xb394),- ("skein1024-424", 0xb395),- ("skein1024-432", 0xb396),- ("skein1024-440", 0xb397),- ("skein1024-448", 0xb398),- ("skein1024-456", 0xb399),- ("skein1024-464", 0xb39a),- ("skein1024-472", 0xb39b),- ("skein1024-480", 0xb39c),- ("skein1024-488", 0xb39d),- ("skein1024-496", 0xb39e),- ("skein1024-504", 0xb39f),- ("skein1024-512", 0xb3a0),- ("skein1024-520", 0xb3a1),- ("skein1024-528", 0xb3a2),- ("skein1024-536", 0xb3a3),- ("skein1024-544", 0xb3a4),- ("skein1024-552", 0xb3a5),- ("skein1024-560", 0xb3a6),- ("skein1024-568", 0xb3a7),- ("skein1024-576", 0xb3a8),- ("skein1024-584", 0xb3a9),- ("skein1024-592", 0xb3aa),- ("skein1024-600", 0xb3ab),- ("skein1024-608", 0xb3ac),- ("skein1024-616", 0xb3ad),- ("skein1024-624", 0xb3ae),- ("skein1024-632", 0xb3af),- ("skein1024-640", 0xb3b0),- ("skein1024-648", 0xb3b1),- ("skein1024-656", 0xb3b2),- ("skein1024-664", 0xb3b3),- ("skein1024-672", 0xb3b4),- ("skein1024-680", 0xb3b5),- ("skein1024-688", 0xb3b6),- ("skein1024-696", 0xb3b7),- ("skein1024-704", 0xb3b8),- ("skein1024-712", 0xb3b9),- ("skein1024-720", 0xb3ba),- ("skein1024-728", 0xb3bb),- ("skein1024-736", 0xb3bc),- ("skein1024-744", 0xb3bd),- ("skein1024-752", 0xb3be),- ("skein1024-760", 0xb3bf),- ("skein1024-768", 0xb3c0),- ("skein1024-776", 0xb3c1),- ("skein1024-784", 0xb3c2),- ("skein1024-792", 0xb3c3),- ("skein1024-800", 0xb3c4),- ("skein1024-808", 0xb3c5),- ("skein1024-816", 0xb3c6),- ("skein1024-824", 0xb3c7),- ("skein1024-832", 0xb3c8),- ("skein1024-840", 0xb3c9),- ("skein1024-848", 0xb3ca),- ("skein1024-856", 0xb3cb),- ("skein1024-864", 0xb3cc),- ("skein1024-872", 0xb3cd),- ("skein1024-880", 0xb3ce),- ("skein1024-888", 0xb3cf),- ("skein1024-896", 0xb3d0),- ("skein1024-904", 0xb3d1),- ("skein1024-912", 0xb3d2),- ("skein1024-920", 0xb3d3),- ("skein1024-928", 0xb3d4),- ("skein1024-936", 0xb3d5),- ("skein1024-944", 0xb3d6),- ("skein1024-952", 0xb3d7),- ("skein1024-960", 0xb3d8),- ("skein1024-968", 0xb3d9),- ("skein1024-976", 0xb3da),- ("skein1024-984", 0xb3db),- ("skein1024-992", 0xb3dc),- ("skein1024-1000", 0xb3dd),- ("skein1024-1008", 0xb3de),- ("skein1024-1016", 0xb3df),- ("skein1024-1024", 0xb3e0),- ("xxh-32", 0xb3e1),- ("xxh-64", 0xb3e2),- ("xxh3-64", 0xb3e3),- ("xxh3-128", 0xb3e4),- ("poseidon-bls12_381-a2-fc1", 0xb401),- ("poseidon-bls12_381-a2-fc1-sc", 0xb402),- ("rdfc-1", 0xb403),- ("ssz", 0xb501),- ("ssz-sha2-256-bmt", 0xb502),- ("sha2-256-chunked", 0xb510),- ("json-jcs", 0xb601),- ("bittorrent-pieces-root", 0xb702),- ("iscc", 0xcc01),- ("zeroxcert-imprint-256", 0xce11),- ("bcrypt-pbkdf", 0xd00d),- ("es256k", 0xd0e7),- ("bls12_381-g1-sig", 0xd0ea),- ("bls12_381-g2-sig", 0xd0eb),- ("eddsa", 0xd0ed),- ("eip-191", 0xd191),- ("jwk_jcs-pub", 0xeb51),- ("ed2k", 0xed20),- ("fil-commitment-unsealed", 0xf101),- ("fil-commitment-sealed", 0xf102),- ("shelter-contract-manifest", 0x511e00),- ("shelter-contract-text", 0x511e01),- ("shelter-contract-data", 0x511e02),- ("shelter-file-manifest", 0x511e03),- ("shelter-file-chunk", 0x511e04),- ("plaintextv2", 0x706c61),- ("holochain-adr-v0", 0x807124),- ("holochain-adr-v1", 0x817124),- ("holochain-key-v0", 0x947124),- ("holochain-key-v1", 0x957124),- ("holochain-sig-v0", 0xa27124),- ("holochain-sig-v1", 0xa37124),- ("skynet-ns", 0xb19910),- ("arweave-ns", 0xb29910),- ("subspace-ns", 0xb39910),- ("kumandra-ns", 0xb49910),- ("massa", 0xb59910),- ("massa-mainnet", 0xb59911),- ("massa-buildnet", 0xb59912),- ("massa-deweb", 0xb59913),- ("massa-gossip", 0xb59914),- ("massa-mns", 0xb59915),- ("massa-sc", 0xb59916),- ("massa-gossip-id", 0xb59917),- ("es256", 0xd01200),- ("es384", 0xd01201),- ("es512", 0xd01202),- ("rs256", 0xd01205),- ("es256k-msig", 0xd01300),- ("bls12_381-g1-msig", 0xd01301),- ("bls12_381-g2-msig", 0xd01302),- ("eddsa-msig", 0xd01303),- ("bls12_381-g1-share-msig", 0xd01304),- ("bls12_381-g2-share-msig", 0xd01305),- ("lamport-msig", 0xd01306),- ("lamport-share-msig", 0xd01307),- ("es256-msig", 0xd01308),- ("es384-msig", 0xd01309),- ("es521-msig", 0xd0130a),- ("rs256-msig", 0xd0130b),- ("scion", 0xd02000)- ]--codecToName :: Map VarInt String-codecToName =- LazyMap.fromList- [ (0x00, "identity"),- (0x01, "cidv1"),- (0x02, "cidv2"),- (0x03, "cidv3"),- (0x04, "ip4"),- (0x06, "tcp"),- (0x11, "sha1"),- (0x12, "sha2-256"),- (0x13, "sha2-512"),- (0x14, "sha3-512"),- (0x15, "sha3-384"),- (0x16, "sha3-256"),- (0x17, "sha3-224"),- (0x18, "shake-128"),- (0x19, "shake-256"),- (0x1a, "keccak-224"),- (0x1b, "keccak-256"),- (0x1c, "keccak-384"),- (0x1d, "keccak-512"),- (0x1e, "blake3"),- (0x20, "sha2-384"),- (0x21, "dccp"),- (0x22, "murmur3-x64-64"),- (0x23, "murmur3-32"),- (0x29, "ip6"),- (0x2a, "ip6zone"),- (0x2b, "ipcidr"),- (0x2f, "path"),- (0x30, "multicodec"),- (0x31, "multihash"),- (0x32, "multiaddr"),- (0x33, "multibase"),- (0x34, "varsig"),- (0x35, "dns"),- (0x36, "dns4"),- (0x37, "dns6"),- (0x38, "dnsaddr"),- (0x50, "protobuf"),- (0x51, "cbor"),- (0x55, "raw"),- (0x56, "dbl-sha2-256"),- (0x60, "rlp"),- (0x63, "bencode"),- (0x70, "dag-pb"),- (0x71, "dag-cbor"),- (0x72, "libp2p-key"),- (0x78, "git-raw"),- (0x7b, "torrent-info"),- (0x7c, "torrent-file"),- (0x80, "blake3-hashseq"),- (0x81, "leofcoin-block"),- (0x82, "leofcoin-tx"),- (0x83, "leofcoin-pr"),- (0x84, "sctp"),- (0x85, "dag-jose"),- (0x86, "dag-cose"),- (0x8c, "lbry"),- (0x90, "eth-block"),- (0x91, "eth-block-list"),- (0x92, "eth-tx-trie"),- (0x93, "eth-tx"),- (0x94, "eth-tx-receipt-trie"),- (0x95, "eth-tx-receipt"),- (0x96, "eth-state-trie"),- (0x97, "eth-account-snapshot"),- (0x98, "eth-storage-trie"),- (0x99, "eth-receipt-log-trie"),- (0x9a, "eth-receipt-log"),- (0xa0, "aes-128"),- (0xa1, "aes-192"),- (0xa2, "aes-256"),- (0xa3, "chacha-128"),- (0xa4, "chacha-256"),- (0xb0, "bitcoin-block"),- (0xb1, "bitcoin-tx"),- (0xb2, "bitcoin-witness-commitment"),- (0xc0, "zcash-block"),- (0xc1, "zcash-tx"),- (0xca, "caip-50"),- (0xce, "streamid"),- (0xd0, "stellar-block"),- (0xd1, "stellar-tx"),- (0xd4, "md4"),- (0xd5, "md5"),- (0xe0, "decred-block"),- (0xe1, "decred-tx"),- (0xe2, "ipld"),- (0xe3, "ipfs"),- (0xe4, "swarm"),- (0xe5, "ipns"),- (0xe6, "zeronet"),- (0xe7, "secp256k1-pub"),- (0xe8, "dnslink"),- (0xea, "bls12_381-g1-pub"),- (0xeb, "bls12_381-g2-pub"),- (0xec, "x25519-pub"),- (0xed, "ed25519-pub"),- (0xee, "bls12_381-g1g2-pub"),- (0xef, "sr25519-pub"),- (0xf0, "dash-block"),- (0xf1, "dash-tx"),- (0xfa, "swarm-manifest"),- (0xfb, "swarm-feed"),- (0xfc, "beeson"),- (0x0111, "udp"),- (0x0118, "webrtc-direct"),- (0x0119, "webrtc"),- (0x0122, "p2p-circuit"),- (0x0129, "dag-json"),- (0x012d, "udt"),- (0x012e, "utp"),- (0x0132, "crc32"),- (0x0164, "crc64-ecma"),- (0x0165, "crc64-nvme"),- (0x0190, "unix"),- (0x0196, "thread"),- (0x01a5, "p2p"),- (0x01bb, "https"),- (0x01bc, "onion"),- (0x01bd, "onion3"),- (0x01be, "garlic64"),- (0x01bf, "garlic32"),- (0x01c0, "tls"),- (0x01c1, "sni"),- (0x01c6, "noise"),- (0x01c8, "shs"),- (0x01cc, "quic"),- (0x01cd, "quic-v1"),- (0x01d1, "webtransport"),- (0x01d2, "certhash"),- (0x01dd, "ws"),- (0x01de, "wss"),- (0x01df, "p2p-websocket-star"),- (0x01e0, "http"),- (0x01e1, "http-path"),- (0x01f0, "swhid-1-snp"),- (0x0200, "json"),- (0x0201, "messagepack"),- (0x0202, "car"),- (0x0210, "x509-certificate"),- (0x0300, "ipns-record"),- (0x0301, "libp2p-peer-record"),- (0x0302, "libp2p-relay-rsvp"),- (0x0309, "memorytransport"),- (0x0400, "car-index-sorted"),- (0x0401, "car-multihash-index-sorted"),- (0x0900, "transport-bitswap"),- (0x0910, "transport-graphsync-filecoinv1"),- (0x0920, "transport-ipfs-gateway-http"),- (0x0930, "transport-filecoin-piece-http"),- (0x0d1d, "multidid"),- (0x1011, "fr32-sha256-trunc254-padbintree"),- (0x1012, "sha2-256-trunc254-padded"),- (0x1013, "sha2-224"),- (0x1014, "sha2-512-224"),- (0x1015, "sha2-512-256"),- (0x1022, "murmur3-x64-128"),- (0x1052, "ripemd-128"),- (0x1053, "ripemd-160"),- (0x1054, "ripemd-256"),- (0x1055, "ripemd-320"),- (0x1100, "x11"),- (0x1200, "p256-pub"),- (0x1201, "p384-pub"),- (0x1202, "p521-pub"),- (0x1203, "ed448-pub"),- (0x1204, "x448-pub"),- (0x1205, "rsa-pub"),- (0x1206, "sm2-pub"),- (0x1207, "vlad"),- (0x1208, "provenance-log"),- (0x1209, "provenance-log-entry"),- (0x120a, "provenance-log-script"),- (0x120b, "mlkem-512-pub"),- (0x120c, "mlkem-768-pub"),- (0x120d, "mlkem-1024-pub"),- (0x1210, "mldsa-44-pub"),- (0x1211, "mldsa-65-pub"),- (0x1212, "mldsa-87-pub"),- (0x1220, "slhdsa-sha2-128s-pub"),- (0x1221, "slhdsa-shake-128s-pub"),- (0x1222, "slhdsa-sha2-128f-pub"),- (0x1223, "slhdsa-shake-128f-pub"),- (0x1224, "slhdsa-sha2-192s-pub"),- (0x1225, "slhdsa-shake-192s-pub"),- (0x1226, "slhdsa-sha2-192f-pub"),- (0x1227, "slhdsa-shake-192f-pub"),- (0x1228, "slhdsa-sha2-256s-pub"),- (0x1229, "slhdsa-shake-256s-pub"),- (0x122a, "slhdsa-sha2-256f-pub"),- (0x122b, "slhdsa-shake-256f-pub"),- (0x1239, "multisig"),- (0x123a, "multikey"),- (0x123b, "nonce"),- (0x1300, "ed25519-priv"),- (0x1301, "secp256k1-priv"),- (0x1302, "x25519-priv"),- (0x1303, "sr25519-priv"),- (0x1305, "rsa-priv"),- (0x1306, "p256-priv"),- (0x1307, "p384-priv"),- (0x1308, "p521-priv"),- (0x1309, "bls12_381-g1-priv"),- (0x130a, "bls12_381-g2-priv"),- (0x130b, "bls12_381-g1g2-priv"),- (0x130c, "bls12_381-g1-pub-share"),- (0x130d, "bls12_381-g2-pub-share"),- (0x130e, "bls12_381-g1-priv-share"),- (0x130f, "bls12_381-g2-priv-share"),- (0x1310, "sm2-priv"),- (0x1311, "ed448-priv"),- (0x1312, "x448-priv"),- (0x1313, "mlkem-512-priv"),- (0x1314, "mlkem-768-priv"),- (0x1315, "mlkem-1024-priv"),- (0x1316, "jwk_jcs-priv"),- (0x1a14, "lamport-sha3-512-pub"),- (0x1a15, "lamport-sha3-384-pub"),- (0x1a16, "lamport-sha3-256-pub"),- (0x1a24, "lamport-sha3-512-priv"),- (0x1a25, "lamport-sha3-384-priv"),- (0x1a26, "lamport-sha3-256-priv"),- (0x1a34, "lamport-sha3-512-priv-share"),- (0x1a35, "lamport-sha3-384-priv-share"),- (0x1a36, "lamport-sha3-256-priv-share"),- (0x1a44, "lamport-sha3-512-sig"),- (0x1a45, "lamport-sha3-384-sig"),- (0x1a46, "lamport-sha3-256-sig"),- (0x1a54, "lamport-sha3-512-sig-share"),- (0x1a55, "lamport-sha3-384-sig-share"),- (0x1a56, "lamport-sha3-256-sig-share"),- (0x1d01, "kangarootwelve"),- (0x2000, "aes-gcm-256"),- (0x3f42, "silverpine"),- (0x534d, "sm3-256"),- (0x7012, "sha256a"),- (0xa000, "chacha20-poly1305"),- (0xb201, "blake2b-8"),- (0xb202, "blake2b-16"),- (0xb203, "blake2b-24"),- (0xb204, "blake2b-32"),- (0xb205, "blake2b-40"),- (0xb206, "blake2b-48"),- (0xb207, "blake2b-56"),- (0xb208, "blake2b-64"),- (0xb209, "blake2b-72"),- (0xb20a, "blake2b-80"),- (0xb20b, "blake2b-88"),- (0xb20c, "blake2b-96"),- (0xb20d, "blake2b-104"),- (0xb20e, "blake2b-112"),- (0xb20f, "blake2b-120"),- (0xb210, "blake2b-128"),- (0xb211, "blake2b-136"),- (0xb212, "blake2b-144"),- (0xb213, "blake2b-152"),- (0xb214, "blake2b-160"),- (0xb215, "blake2b-168"),- (0xb216, "blake2b-176"),- (0xb217, "blake2b-184"),- (0xb218, "blake2b-192"),- (0xb219, "blake2b-200"),- (0xb21a, "blake2b-208"),- (0xb21b, "blake2b-216"),- (0xb21c, "blake2b-224"),- (0xb21d, "blake2b-232"),- (0xb21e, "blake2b-240"),- (0xb21f, "blake2b-248"),- (0xb220, "blake2b-256"),- (0xb221, "blake2b-264"),- (0xb222, "blake2b-272"),- (0xb223, "blake2b-280"),- (0xb224, "blake2b-288"),- (0xb225, "blake2b-296"),- (0xb226, "blake2b-304"),- (0xb227, "blake2b-312"),- (0xb228, "blake2b-320"),- (0xb229, "blake2b-328"),- (0xb22a, "blake2b-336"),- (0xb22b, "blake2b-344"),- (0xb22c, "blake2b-352"),- (0xb22d, "blake2b-360"),- (0xb22e, "blake2b-368"),- (0xb22f, "blake2b-376"),- (0xb230, "blake2b-384"),- (0xb231, "blake2b-392"),- (0xb232, "blake2b-400"),- (0xb233, "blake2b-408"),- (0xb234, "blake2b-416"),- (0xb235, "blake2b-424"),- (0xb236, "blake2b-432"),- (0xb237, "blake2b-440"),- (0xb238, "blake2b-448"),- (0xb239, "blake2b-456"),- (0xb23a, "blake2b-464"),- (0xb23b, "blake2b-472"),- (0xb23c, "blake2b-480"),- (0xb23d, "blake2b-488"),- (0xb23e, "blake2b-496"),- (0xb23f, "blake2b-504"),- (0xb240, "blake2b-512"),- (0xb241, "blake2s-8"),- (0xb242, "blake2s-16"),- (0xb243, "blake2s-24"),- (0xb244, "blake2s-32"),- (0xb245, "blake2s-40"),- (0xb246, "blake2s-48"),- (0xb247, "blake2s-56"),- (0xb248, "blake2s-64"),- (0xb249, "blake2s-72"),- (0xb24a, "blake2s-80"),- (0xb24b, "blake2s-88"),- (0xb24c, "blake2s-96"),- (0xb24d, "blake2s-104"),- (0xb24e, "blake2s-112"),- (0xb24f, "blake2s-120"),- (0xb250, "blake2s-128"),- (0xb251, "blake2s-136"),- (0xb252, "blake2s-144"),- (0xb253, "blake2s-152"),- (0xb254, "blake2s-160"),- (0xb255, "blake2s-168"),- (0xb256, "blake2s-176"),- (0xb257, "blake2s-184"),- (0xb258, "blake2s-192"),- (0xb259, "blake2s-200"),- (0xb25a, "blake2s-208"),- (0xb25b, "blake2s-216"),- (0xb25c, "blake2s-224"),- (0xb25d, "blake2s-232"),- (0xb25e, "blake2s-240"),- (0xb25f, "blake2s-248"),- (0xb260, "blake2s-256"),- (0xb301, "skein256-8"),- (0xb302, "skein256-16"),- (0xb303, "skein256-24"),- (0xb304, "skein256-32"),- (0xb305, "skein256-40"),- (0xb306, "skein256-48"),- (0xb307, "skein256-56"),- (0xb308, "skein256-64"),- (0xb309, "skein256-72"),- (0xb30a, "skein256-80"),- (0xb30b, "skein256-88"),- (0xb30c, "skein256-96"),- (0xb30d, "skein256-104"),- (0xb30e, "skein256-112"),- (0xb30f, "skein256-120"),- (0xb310, "skein256-128"),- (0xb311, "skein256-136"),- (0xb312, "skein256-144"),- (0xb313, "skein256-152"),- (0xb314, "skein256-160"),- (0xb315, "skein256-168"),- (0xb316, "skein256-176"),- (0xb317, "skein256-184"),- (0xb318, "skein256-192"),- (0xb319, "skein256-200"),- (0xb31a, "skein256-208"),- (0xb31b, "skein256-216"),- (0xb31c, "skein256-224"),- (0xb31d, "skein256-232"),- (0xb31e, "skein256-240"),- (0xb31f, "skein256-248"),- (0xb320, "skein256-256"),- (0xb321, "skein512-8"),- (0xb322, "skein512-16"),- (0xb323, "skein512-24"),- (0xb324, "skein512-32"),- (0xb325, "skein512-40"),- (0xb326, "skein512-48"),- (0xb327, "skein512-56"),- (0xb328, "skein512-64"),- (0xb329, "skein512-72"),- (0xb32a, "skein512-80"),- (0xb32b, "skein512-88"),- (0xb32c, "skein512-96"),- (0xb32d, "skein512-104"),- (0xb32e, "skein512-112"),- (0xb32f, "skein512-120"),- (0xb330, "skein512-128"),- (0xb331, "skein512-136"),- (0xb332, "skein512-144"),- (0xb333, "skein512-152"),- (0xb334, "skein512-160"),- (0xb335, "skein512-168"),- (0xb336, "skein512-176"),- (0xb337, "skein512-184"),- (0xb338, "skein512-192"),- (0xb339, "skein512-200"),- (0xb33a, "skein512-208"),- (0xb33b, "skein512-216"),- (0xb33c, "skein512-224"),- (0xb33d, "skein512-232"),- (0xb33e, "skein512-240"),- (0xb33f, "skein512-248"),- (0xb340, "skein512-256"),- (0xb341, "skein512-264"),- (0xb342, "skein512-272"),- (0xb343, "skein512-280"),- (0xb344, "skein512-288"),- (0xb345, "skein512-296"),- (0xb346, "skein512-304"),- (0xb347, "skein512-312"),- (0xb348, "skein512-320"),- (0xb349, "skein512-328"),- (0xb34a, "skein512-336"),- (0xb34b, "skein512-344"),- (0xb34c, "skein512-352"),- (0xb34d, "skein512-360"),- (0xb34e, "skein512-368"),- (0xb34f, "skein512-376"),- (0xb350, "skein512-384"),- (0xb351, "skein512-392"),- (0xb352, "skein512-400"),- (0xb353, "skein512-408"),- (0xb354, "skein512-416"),- (0xb355, "skein512-424"),- (0xb356, "skein512-432"),- (0xb357, "skein512-440"),- (0xb358, "skein512-448"),- (0xb359, "skein512-456"),- (0xb35a, "skein512-464"),- (0xb35b, "skein512-472"),- (0xb35c, "skein512-480"),- (0xb35d, "skein512-488"),- (0xb35e, "skein512-496"),- (0xb35f, "skein512-504"),- (0xb360, "skein512-512"),- (0xb361, "skein1024-8"),- (0xb362, "skein1024-16"),- (0xb363, "skein1024-24"),- (0xb364, "skein1024-32"),- (0xb365, "skein1024-40"),- (0xb366, "skein1024-48"),- (0xb367, "skein1024-56"),- (0xb368, "skein1024-64"),- (0xb369, "skein1024-72"),- (0xb36a, "skein1024-80"),- (0xb36b, "skein1024-88"),- (0xb36c, "skein1024-96"),- (0xb36d, "skein1024-104"),- (0xb36e, "skein1024-112"),- (0xb36f, "skein1024-120"),- (0xb370, "skein1024-128"),- (0xb371, "skein1024-136"),- (0xb372, "skein1024-144"),- (0xb373, "skein1024-152"),- (0xb374, "skein1024-160"),- (0xb375, "skein1024-168"),- (0xb376, "skein1024-176"),- (0xb377, "skein1024-184"),- (0xb378, "skein1024-192"),- (0xb379, "skein1024-200"),- (0xb37a, "skein1024-208"),- (0xb37b, "skein1024-216"),- (0xb37c, "skein1024-224"),- (0xb37d, "skein1024-232"),- (0xb37e, "skein1024-240"),- (0xb37f, "skein1024-248"),- (0xb380, "skein1024-256"),- (0xb381, "skein1024-264"),- (0xb382, "skein1024-272"),- (0xb383, "skein1024-280"),- (0xb384, "skein1024-288"),- (0xb385, "skein1024-296"),- (0xb386, "skein1024-304"),- (0xb387, "skein1024-312"),- (0xb388, "skein1024-320"),- (0xb389, "skein1024-328"),- (0xb38a, "skein1024-336"),- (0xb38b, "skein1024-344"),- (0xb38c, "skein1024-352"),- (0xb38d, "skein1024-360"),- (0xb38e, "skein1024-368"),- (0xb38f, "skein1024-376"),- (0xb390, "skein1024-384"),- (0xb391, "skein1024-392"),- (0xb392, "skein1024-400"),- (0xb393, "skein1024-408"),- (0xb394, "skein1024-416"),- (0xb395, "skein1024-424"),- (0xb396, "skein1024-432"),- (0xb397, "skein1024-440"),- (0xb398, "skein1024-448"),- (0xb399, "skein1024-456"),- (0xb39a, "skein1024-464"),- (0xb39b, "skein1024-472"),- (0xb39c, "skein1024-480"),- (0xb39d, "skein1024-488"),- (0xb39e, "skein1024-496"),- (0xb39f, "skein1024-504"),- (0xb3a0, "skein1024-512"),- (0xb3a1, "skein1024-520"),- (0xb3a2, "skein1024-528"),- (0xb3a3, "skein1024-536"),- (0xb3a4, "skein1024-544"),- (0xb3a5, "skein1024-552"),- (0xb3a6, "skein1024-560"),- (0xb3a7, "skein1024-568"),- (0xb3a8, "skein1024-576"),- (0xb3a9, "skein1024-584"),- (0xb3aa, "skein1024-592"),- (0xb3ab, "skein1024-600"),- (0xb3ac, "skein1024-608"),- (0xb3ad, "skein1024-616"),- (0xb3ae, "skein1024-624"),- (0xb3af, "skein1024-632"),- (0xb3b0, "skein1024-640"),- (0xb3b1, "skein1024-648"),- (0xb3b2, "skein1024-656"),- (0xb3b3, "skein1024-664"),- (0xb3b4, "skein1024-672"),- (0xb3b5, "skein1024-680"),- (0xb3b6, "skein1024-688"),- (0xb3b7, "skein1024-696"),- (0xb3b8, "skein1024-704"),- (0xb3b9, "skein1024-712"),- (0xb3ba, "skein1024-720"),- (0xb3bb, "skein1024-728"),- (0xb3bc, "skein1024-736"),- (0xb3bd, "skein1024-744"),- (0xb3be, "skein1024-752"),- (0xb3bf, "skein1024-760"),- (0xb3c0, "skein1024-768"),- (0xb3c1, "skein1024-776"),- (0xb3c2, "skein1024-784"),- (0xb3c3, "skein1024-792"),- (0xb3c4, "skein1024-800"),- (0xb3c5, "skein1024-808"),- (0xb3c6, "skein1024-816"),- (0xb3c7, "skein1024-824"),- (0xb3c8, "skein1024-832"),- (0xb3c9, "skein1024-840"),- (0xb3ca, "skein1024-848"),- (0xb3cb, "skein1024-856"),- (0xb3cc, "skein1024-864"),- (0xb3cd, "skein1024-872"),- (0xb3ce, "skein1024-880"),- (0xb3cf, "skein1024-888"),- (0xb3d0, "skein1024-896"),- (0xb3d1, "skein1024-904"),- (0xb3d2, "skein1024-912"),- (0xb3d3, "skein1024-920"),- (0xb3d4, "skein1024-928"),- (0xb3d5, "skein1024-936"),- (0xb3d6, "skein1024-944"),- (0xb3d7, "skein1024-952"),- (0xb3d8, "skein1024-960"),- (0xb3d9, "skein1024-968"),- (0xb3da, "skein1024-976"),- (0xb3db, "skein1024-984"),- (0xb3dc, "skein1024-992"),- (0xb3dd, "skein1024-1000"),- (0xb3de, "skein1024-1008"),- (0xb3df, "skein1024-1016"),- (0xb3e0, "skein1024-1024"),- (0xb3e1, "xxh-32"),- (0xb3e2, "xxh-64"),- (0xb3e3, "xxh3-64"),- (0xb3e4, "xxh3-128"),- (0xb401, "poseidon-bls12_381-a2-fc1"),- (0xb402, "poseidon-bls12_381-a2-fc1-sc"),- (0xb403, "rdfc-1"),- (0xb501, "ssz"),- (0xb502, "ssz-sha2-256-bmt"),- (0xb510, "sha2-256-chunked"),- (0xb601, "json-jcs"),- (0xb702, "bittorrent-pieces-root"),- (0xcc01, "iscc"),- (0xce11, "zeroxcert-imprint-256"),- (0xd00d, "bcrypt-pbkdf"),- (0xd0e7, "es256k"),- (0xd0ea, "bls12_381-g1-sig"),- (0xd0eb, "bls12_381-g2-sig"),- (0xd0ed, "eddsa"),- (0xd191, "eip-191"),- (0xeb51, "jwk_jcs-pub"),- (0xed20, "ed2k"),- (0xf101, "fil-commitment-unsealed"),- (0xf102, "fil-commitment-sealed"),- (0x511e00, "shelter-contract-manifest"),- (0x511e01, "shelter-contract-text"),- (0x511e02, "shelter-contract-data"),- (0x511e03, "shelter-file-manifest"),- (0x511e04, "shelter-file-chunk"),- (0x706c61, "plaintextv2"),- (0x807124, "holochain-adr-v0"),- (0x817124, "holochain-adr-v1"),- (0x947124, "holochain-key-v0"),- (0x957124, "holochain-key-v1"),- (0xa27124, "holochain-sig-v0"),- (0xa37124, "holochain-sig-v1"),- (0xb19910, "skynet-ns"),- (0xb29910, "arweave-ns"),- (0xb39910, "subspace-ns"),- (0xb49910, "kumandra-ns"),- (0xb59910, "massa"),- (0xb59911, "massa-mainnet"),- (0xb59912, "massa-buildnet"),- (0xb59913, "massa-deweb"),- (0xb59914, "massa-gossip"),- (0xb59915, "massa-mns"),- (0xb59916, "massa-sc"),- (0xb59917, "massa-gossip-id"),- (0xd01200, "es256"),- (0xd01201, "es384"),- (0xd01202, "es512"),- (0xd01205, "rs256"),- (0xd01300, "es256k-msig"),- (0xd01301, "bls12_381-g1-msig"),- (0xd01302, "bls12_381-g2-msig"),- (0xd01303, "eddsa-msig"),- (0xd01304, "bls12_381-g1-share-msig"),- (0xd01305, "bls12_381-g2-share-msig"),- (0xd01306, "lamport-msig"),- (0xd01307, "lamport-share-msig"),- (0xd01308, "es256-msig"),- (0xd01309, "es384-msig"),- (0xd0130a, "es521-msig"),- (0xd0130b, "rs256-msig"),- (0xd02000, "scion")- ]+-- Description : Provides lookup functions for mulitcodec values + names+-- Copyright : Zoey McBride (c) 2026+-- License : AGPL-3.0-or-later+-- Maintainer : zoeymcbride@mailbox.org+-- Stability : experimental+module MultiFormats.MultiCodec+ ( MultiCodec(MultiCodec, multiCodecValue),+ resolveCodecValue,+ resolveCodecName,+ gitCommitHash,+ gitCommitDate,+ )+where++-- !!! WARNING: !!!+-- This file is generated! Don't edit it. Instead, use the scripts provided in+-- the python folder at the root of the git repository. The current file was+-- generated on: 2026-03-27 16:23:19.941647+00:00++import Data.Map (Map)+import Data.Map qualified as LazyMap+import Data.Maybe (fromMaybe)+import MultiFormats.VarInt (VarInt)++-- | Represents MultiCodec code.+newtype MultiCodec = MultiCodec {multiCodecValue :: VarInt} deriving (Eq, Ord)++instance Show MultiCodec where+ show codec = fromMaybe "<invalid codec>" $ resolveCodecName codec++-- | Resolves MultiCodec code from its string name.+resolveCodecValue :: String -> Maybe MultiCodec+resolveCodecValue name = MultiCodec <$> LazyMap.lookup name nameToCodec++-- | Resolves MultiCodec name from its numeric code.+resolveCodecName :: MultiCodec -> Maybe String+resolveCodecName (MultiCodec codec) = LazyMap.lookup codec codecToName++-- | The git hash for table.csv used to generate this file.+gitCommitHash :: String+gitCommitHash = "c89cc366970fa6c03294e430421a42f31efff616"++-- | This is the date the table.csv was commited.+gitCommitDate :: String+gitCommitDate = "2026-03-06 02:56:38 +0100"++nameToCodec :: Map String VarInt+nameToCodec =+ LazyMap.fromList [+ ("identity", 0x00),+ ("cidv1", 0x01),+ ("cidv2", 0x02),+ ("cidv3", 0x03),+ ("ip4", 0x04),+ ("tcp", 0x06),+ ("sha1", 0x11),+ ("sha2-256", 0x12),+ ("sha2-512", 0x13),+ ("sha3-512", 0x14),+ ("sha3-384", 0x15),+ ("sha3-256", 0x16),+ ("sha3-224", 0x17),+ ("shake-128", 0x18),+ ("shake-256", 0x19),+ ("keccak-224", 0x1a),+ ("keccak-256", 0x1b),+ ("keccak-384", 0x1c),+ ("keccak-512", 0x1d),+ ("blake3", 0x1e),+ ("sha2-384", 0x20),+ ("dccp", 0x21),+ ("murmur3-x64-64", 0x22),+ ("murmur3-32", 0x23),+ ("ip6", 0x29),+ ("ip6zone", 0x2a),+ ("ipcidr", 0x2b),+ ("path", 0x2f),+ ("multicodec", 0x30),+ ("multihash", 0x31),+ ("multiaddr", 0x32),+ ("multibase", 0x33),+ ("varsig", 0x34),+ ("dns", 0x35),+ ("dns4", 0x36),+ ("dns6", 0x37),+ ("dnsaddr", 0x38),+ ("protobuf", 0x50),+ ("cbor", 0x51),+ ("raw", 0x55),+ ("dbl-sha2-256", 0x56),+ ("rlp", 0x60),+ ("bencode", 0x63),+ ("dag-pb", 0x70),+ ("dag-cbor", 0x71),+ ("libp2p-key", 0x72),+ ("git-raw", 0x78),+ ("torrent-info", 0x7b),+ ("torrent-file", 0x7c),+ ("blake3-hashseq", 0x80),+ ("leofcoin-block", 0x81),+ ("leofcoin-tx", 0x82),+ ("leofcoin-pr", 0x83),+ ("sctp", 0x84),+ ("dag-jose", 0x85),+ ("dag-cose", 0x86),+ ("lbry", 0x8c),+ ("eth-block", 0x90),+ ("eth-block-list", 0x91),+ ("eth-tx-trie", 0x92),+ ("eth-tx", 0x93),+ ("eth-tx-receipt-trie", 0x94),+ ("eth-tx-receipt", 0x95),+ ("eth-state-trie", 0x96),+ ("eth-account-snapshot", 0x97),+ ("eth-storage-trie", 0x98),+ ("eth-receipt-log-trie", 0x99),+ ("eth-receipt-log", 0x9a),+ ("aes-128", 0xa0),+ ("aes-192", 0xa1),+ ("aes-256", 0xa2),+ ("chacha-128", 0xa3),+ ("chacha-256", 0xa4),+ ("bitcoin-block", 0xb0),+ ("bitcoin-tx", 0xb1),+ ("bitcoin-witness-commitment", 0xb2),+ ("zcash-block", 0xc0),+ ("zcash-tx", 0xc1),+ ("caip-50", 0xca),+ ("streamid", 0xce),+ ("stellar-block", 0xd0),+ ("stellar-tx", 0xd1),+ ("md4", 0xd4),+ ("md5", 0xd5),+ ("decred-block", 0xe0),+ ("decred-tx", 0xe1),+ ("ipld", 0xe2),+ ("ipfs", 0xe3),+ ("swarm", 0xe4),+ ("ipns", 0xe5),+ ("zeronet", 0xe6),+ ("secp256k1-pub", 0xe7),+ ("dnslink", 0xe8),+ ("bls12_381-g1-pub", 0xea),+ ("bls12_381-g2-pub", 0xeb),+ ("x25519-pub", 0xec),+ ("ed25519-pub", 0xed),+ ("bls12_381-g1g2-pub", 0xee),+ ("sr25519-pub", 0xef),+ ("dash-block", 0xf0),+ ("dash-tx", 0xf1),+ ("swarm-manifest", 0xfa),+ ("swarm-feed", 0xfb),+ ("beeson", 0xfc),+ ("udp", 0x0111),+ ("webrtc-direct", 0x0118),+ ("webrtc", 0x0119),+ ("p2p-circuit", 0x0122),+ ("dag-json", 0x0129),+ ("udt", 0x012d),+ ("utp", 0x012e),+ ("crc32", 0x0132),+ ("crc64-ecma", 0x0164),+ ("crc64-nvme", 0x0165),+ ("unix", 0x0190),+ ("thread", 0x0196),+ ("p2p", 0x01a5),+ ("https", 0x01bb),+ ("onion", 0x01bc),+ ("onion3", 0x01bd),+ ("garlic64", 0x01be),+ ("garlic32", 0x01bf),+ ("tls", 0x01c0),+ ("sni", 0x01c1),+ ("noise", 0x01c6),+ ("shs", 0x01c8),+ ("quic", 0x01cc),+ ("quic-v1", 0x01cd),+ ("webtransport", 0x01d1),+ ("certhash", 0x01d2),+ ("ws", 0x01dd),+ ("wss", 0x01de),+ ("p2p-websocket-star", 0x01df),+ ("http", 0x01e0),+ ("http-path", 0x01e1),+ ("swhid-1-snp", 0x01f0),+ ("json", 0x0200),+ ("messagepack", 0x0201),+ ("car", 0x0202),+ ("x509-certificate", 0x0210),+ ("ipns-record", 0x0300),+ ("libp2p-peer-record", 0x0301),+ ("libp2p-relay-rsvp", 0x0302),+ ("memorytransport", 0x0309),+ ("car-index-sorted", 0x0400),+ ("car-multihash-index-sorted", 0x0401),+ ("transport-bitswap", 0x0900),+ ("transport-graphsync-filecoinv1", 0x0910),+ ("transport-ipfs-gateway-http", 0x0920),+ ("transport-filecoin-piece-http", 0x0930),+ ("multidid", 0x0d1d),+ ("fr32-sha256-trunc254-padbintree", 0x1011),+ ("sha2-256-trunc254-padded", 0x1012),+ ("sha2-224", 0x1013),+ ("sha2-512-224", 0x1014),+ ("sha2-512-256", 0x1015),+ ("murmur3-x64-128", 0x1022),+ ("ripemd-128", 0x1052),+ ("ripemd-160", 0x1053),+ ("ripemd-256", 0x1054),+ ("ripemd-320", 0x1055),+ ("x11", 0x1100),+ ("p256-pub", 0x1200),+ ("p384-pub", 0x1201),+ ("p521-pub", 0x1202),+ ("ed448-pub", 0x1203),+ ("x448-pub", 0x1204),+ ("rsa-pub", 0x1205),+ ("sm2-pub", 0x1206),+ ("vlad", 0x1207),+ ("provenance-log", 0x1208),+ ("provenance-log-entry", 0x1209),+ ("provenance-log-script", 0x120a),+ ("mlkem-512-pub", 0x120b),+ ("mlkem-768-pub", 0x120c),+ ("mlkem-1024-pub", 0x120d),+ ("mldsa-44-pub", 0x1210),+ ("mldsa-65-pub", 0x1211),+ ("mldsa-87-pub", 0x1212),+ ("slhdsa-sha2-128s-pub", 0x1220),+ ("slhdsa-shake-128s-pub", 0x1221),+ ("slhdsa-sha2-128f-pub", 0x1222),+ ("slhdsa-shake-128f-pub", 0x1223),+ ("slhdsa-sha2-192s-pub", 0x1224),+ ("slhdsa-shake-192s-pub", 0x1225),+ ("slhdsa-sha2-192f-pub", 0x1226),+ ("slhdsa-shake-192f-pub", 0x1227),+ ("slhdsa-sha2-256s-pub", 0x1228),+ ("slhdsa-shake-256s-pub", 0x1229),+ ("slhdsa-sha2-256f-pub", 0x122a),+ ("slhdsa-shake-256f-pub", 0x122b),+ ("multisig", 0x1239),+ ("multikey", 0x123a),+ ("nonce", 0x123b),+ ("ed25519-priv", 0x1300),+ ("secp256k1-priv", 0x1301),+ ("x25519-priv", 0x1302),+ ("sr25519-priv", 0x1303),+ ("rsa-priv", 0x1305),+ ("p256-priv", 0x1306),+ ("p384-priv", 0x1307),+ ("p521-priv", 0x1308),+ ("bls12_381-g1-priv", 0x1309),+ ("bls12_381-g2-priv", 0x130a),+ ("bls12_381-g1g2-priv", 0x130b),+ ("bls12_381-g1-pub-share", 0x130c),+ ("bls12_381-g2-pub-share", 0x130d),+ ("bls12_381-g1-priv-share", 0x130e),+ ("bls12_381-g2-priv-share", 0x130f),+ ("sm2-priv", 0x1310),+ ("ed448-priv", 0x1311),+ ("x448-priv", 0x1312),+ ("mlkem-512-priv", 0x1313),+ ("mlkem-768-priv", 0x1314),+ ("mlkem-1024-priv", 0x1315),+ ("jwk_jcs-priv", 0x1316),+ ("lamport-sha3-512-pub", 0x1a14),+ ("lamport-sha3-384-pub", 0x1a15),+ ("lamport-sha3-256-pub", 0x1a16),+ ("lamport-sha3-512-priv", 0x1a24),+ ("lamport-sha3-384-priv", 0x1a25),+ ("lamport-sha3-256-priv", 0x1a26),+ ("lamport-sha3-512-priv-share", 0x1a34),+ ("lamport-sha3-384-priv-share", 0x1a35),+ ("lamport-sha3-256-priv-share", 0x1a36),+ ("lamport-sha3-512-sig", 0x1a44),+ ("lamport-sha3-384-sig", 0x1a45),+ ("lamport-sha3-256-sig", 0x1a46),+ ("lamport-sha3-512-sig-share", 0x1a54),+ ("lamport-sha3-384-sig-share", 0x1a55),+ ("lamport-sha3-256-sig-share", 0x1a56),+ ("kt-128", 0x1d01),+ ("kt-256", 0x1d02),+ ("aes-gcm-256", 0x2000),+ ("silverpine", 0x3f42),+ ("sm3-256", 0x534d),+ ("sha256a", 0x7012),+ ("chacha20-poly1305", 0xa000),+ ("blake2b-8", 0xb201),+ ("blake2b-16", 0xb202),+ ("blake2b-24", 0xb203),+ ("blake2b-32", 0xb204),+ ("blake2b-40", 0xb205),+ ("blake2b-48", 0xb206),+ ("blake2b-56", 0xb207),+ ("blake2b-64", 0xb208),+ ("blake2b-72", 0xb209),+ ("blake2b-80", 0xb20a),+ ("blake2b-88", 0xb20b),+ ("blake2b-96", 0xb20c),+ ("blake2b-104", 0xb20d),+ ("blake2b-112", 0xb20e),+ ("blake2b-120", 0xb20f),+ ("blake2b-128", 0xb210),+ ("blake2b-136", 0xb211),+ ("blake2b-144", 0xb212),+ ("blake2b-152", 0xb213),+ ("blake2b-160", 0xb214),+ ("blake2b-168", 0xb215),+ ("blake2b-176", 0xb216),+ ("blake2b-184", 0xb217),+ ("blake2b-192", 0xb218),+ ("blake2b-200", 0xb219),+ ("blake2b-208", 0xb21a),+ ("blake2b-216", 0xb21b),+ ("blake2b-224", 0xb21c),+ ("blake2b-232", 0xb21d),+ ("blake2b-240", 0xb21e),+ ("blake2b-248", 0xb21f),+ ("blake2b-256", 0xb220),+ ("blake2b-264", 0xb221),+ ("blake2b-272", 0xb222),+ ("blake2b-280", 0xb223),+ ("blake2b-288", 0xb224),+ ("blake2b-296", 0xb225),+ ("blake2b-304", 0xb226),+ ("blake2b-312", 0xb227),+ ("blake2b-320", 0xb228),+ ("blake2b-328", 0xb229),+ ("blake2b-336", 0xb22a),+ ("blake2b-344", 0xb22b),+ ("blake2b-352", 0xb22c),+ ("blake2b-360", 0xb22d),+ ("blake2b-368", 0xb22e),+ ("blake2b-376", 0xb22f),+ ("blake2b-384", 0xb230),+ ("blake2b-392", 0xb231),+ ("blake2b-400", 0xb232),+ ("blake2b-408", 0xb233),+ ("blake2b-416", 0xb234),+ ("blake2b-424", 0xb235),+ ("blake2b-432", 0xb236),+ ("blake2b-440", 0xb237),+ ("blake2b-448", 0xb238),+ ("blake2b-456", 0xb239),+ ("blake2b-464", 0xb23a),+ ("blake2b-472", 0xb23b),+ ("blake2b-480", 0xb23c),+ ("blake2b-488", 0xb23d),+ ("blake2b-496", 0xb23e),+ ("blake2b-504", 0xb23f),+ ("blake2b-512", 0xb240),+ ("blake2s-8", 0xb241),+ ("blake2s-16", 0xb242),+ ("blake2s-24", 0xb243),+ ("blake2s-32", 0xb244),+ ("blake2s-40", 0xb245),+ ("blake2s-48", 0xb246),+ ("blake2s-56", 0xb247),+ ("blake2s-64", 0xb248),+ ("blake2s-72", 0xb249),+ ("blake2s-80", 0xb24a),+ ("blake2s-88", 0xb24b),+ ("blake2s-96", 0xb24c),+ ("blake2s-104", 0xb24d),+ ("blake2s-112", 0xb24e),+ ("blake2s-120", 0xb24f),+ ("blake2s-128", 0xb250),+ ("blake2s-136", 0xb251),+ ("blake2s-144", 0xb252),+ ("blake2s-152", 0xb253),+ ("blake2s-160", 0xb254),+ ("blake2s-168", 0xb255),+ ("blake2s-176", 0xb256),+ ("blake2s-184", 0xb257),+ ("blake2s-192", 0xb258),+ ("blake2s-200", 0xb259),+ ("blake2s-208", 0xb25a),+ ("blake2s-216", 0xb25b),+ ("blake2s-224", 0xb25c),+ ("blake2s-232", 0xb25d),+ ("blake2s-240", 0xb25e),+ ("blake2s-248", 0xb25f),+ ("blake2s-256", 0xb260),+ ("skein256-8", 0xb301),+ ("skein256-16", 0xb302),+ ("skein256-24", 0xb303),+ ("skein256-32", 0xb304),+ ("skein256-40", 0xb305),+ ("skein256-48", 0xb306),+ ("skein256-56", 0xb307),+ ("skein256-64", 0xb308),+ ("skein256-72", 0xb309),+ ("skein256-80", 0xb30a),+ ("skein256-88", 0xb30b),+ ("skein256-96", 0xb30c),+ ("skein256-104", 0xb30d),+ ("skein256-112", 0xb30e),+ ("skein256-120", 0xb30f),+ ("skein256-128", 0xb310),+ ("skein256-136", 0xb311),+ ("skein256-144", 0xb312),+ ("skein256-152", 0xb313),+ ("skein256-160", 0xb314),+ ("skein256-168", 0xb315),+ ("skein256-176", 0xb316),+ ("skein256-184", 0xb317),+ ("skein256-192", 0xb318),+ ("skein256-200", 0xb319),+ ("skein256-208", 0xb31a),+ ("skein256-216", 0xb31b),+ ("skein256-224", 0xb31c),+ ("skein256-232", 0xb31d),+ ("skein256-240", 0xb31e),+ ("skein256-248", 0xb31f),+ ("skein256-256", 0xb320),+ ("skein512-8", 0xb321),+ ("skein512-16", 0xb322),+ ("skein512-24", 0xb323),+ ("skein512-32", 0xb324),+ ("skein512-40", 0xb325),+ ("skein512-48", 0xb326),+ ("skein512-56", 0xb327),+ ("skein512-64", 0xb328),+ ("skein512-72", 0xb329),+ ("skein512-80", 0xb32a),+ ("skein512-88", 0xb32b),+ ("skein512-96", 0xb32c),+ ("skein512-104", 0xb32d),+ ("skein512-112", 0xb32e),+ ("skein512-120", 0xb32f),+ ("skein512-128", 0xb330),+ ("skein512-136", 0xb331),+ ("skein512-144", 0xb332),+ ("skein512-152", 0xb333),+ ("skein512-160", 0xb334),+ ("skein512-168", 0xb335),+ ("skein512-176", 0xb336),+ ("skein512-184", 0xb337),+ ("skein512-192", 0xb338),+ ("skein512-200", 0xb339),+ ("skein512-208", 0xb33a),+ ("skein512-216", 0xb33b),+ ("skein512-224", 0xb33c),+ ("skein512-232", 0xb33d),+ ("skein512-240", 0xb33e),+ ("skein512-248", 0xb33f),+ ("skein512-256", 0xb340),+ ("skein512-264", 0xb341),+ ("skein512-272", 0xb342),+ ("skein512-280", 0xb343),+ ("skein512-288", 0xb344),+ ("skein512-296", 0xb345),+ ("skein512-304", 0xb346),+ ("skein512-312", 0xb347),+ ("skein512-320", 0xb348),+ ("skein512-328", 0xb349),+ ("skein512-336", 0xb34a),+ ("skein512-344", 0xb34b),+ ("skein512-352", 0xb34c),+ ("skein512-360", 0xb34d),+ ("skein512-368", 0xb34e),+ ("skein512-376", 0xb34f),+ ("skein512-384", 0xb350),+ ("skein512-392", 0xb351),+ ("skein512-400", 0xb352),+ ("skein512-408", 0xb353),+ ("skein512-416", 0xb354),+ ("skein512-424", 0xb355),+ ("skein512-432", 0xb356),+ ("skein512-440", 0xb357),+ ("skein512-448", 0xb358),+ ("skein512-456", 0xb359),+ ("skein512-464", 0xb35a),+ ("skein512-472", 0xb35b),+ ("skein512-480", 0xb35c),+ ("skein512-488", 0xb35d),+ ("skein512-496", 0xb35e),+ ("skein512-504", 0xb35f),+ ("skein512-512", 0xb360),+ ("skein1024-8", 0xb361),+ ("skein1024-16", 0xb362),+ ("skein1024-24", 0xb363),+ ("skein1024-32", 0xb364),+ ("skein1024-40", 0xb365),+ ("skein1024-48", 0xb366),+ ("skein1024-56", 0xb367),+ ("skein1024-64", 0xb368),+ ("skein1024-72", 0xb369),+ ("skein1024-80", 0xb36a),+ ("skein1024-88", 0xb36b),+ ("skein1024-96", 0xb36c),+ ("skein1024-104", 0xb36d),+ ("skein1024-112", 0xb36e),+ ("skein1024-120", 0xb36f),+ ("skein1024-128", 0xb370),+ ("skein1024-136", 0xb371),+ ("skein1024-144", 0xb372),+ ("skein1024-152", 0xb373),+ ("skein1024-160", 0xb374),+ ("skein1024-168", 0xb375),+ ("skein1024-176", 0xb376),+ ("skein1024-184", 0xb377),+ ("skein1024-192", 0xb378),+ ("skein1024-200", 0xb379),+ ("skein1024-208", 0xb37a),+ ("skein1024-216", 0xb37b),+ ("skein1024-224", 0xb37c),+ ("skein1024-232", 0xb37d),+ ("skein1024-240", 0xb37e),+ ("skein1024-248", 0xb37f),+ ("skein1024-256", 0xb380),+ ("skein1024-264", 0xb381),+ ("skein1024-272", 0xb382),+ ("skein1024-280", 0xb383),+ ("skein1024-288", 0xb384),+ ("skein1024-296", 0xb385),+ ("skein1024-304", 0xb386),+ ("skein1024-312", 0xb387),+ ("skein1024-320", 0xb388),+ ("skein1024-328", 0xb389),+ ("skein1024-336", 0xb38a),+ ("skein1024-344", 0xb38b),+ ("skein1024-352", 0xb38c),+ ("skein1024-360", 0xb38d),+ ("skein1024-368", 0xb38e),+ ("skein1024-376", 0xb38f),+ ("skein1024-384", 0xb390),+ ("skein1024-392", 0xb391),+ ("skein1024-400", 0xb392),+ ("skein1024-408", 0xb393),+ ("skein1024-416", 0xb394),+ ("skein1024-424", 0xb395),+ ("skein1024-432", 0xb396),+ ("skein1024-440", 0xb397),+ ("skein1024-448", 0xb398),+ ("skein1024-456", 0xb399),+ ("skein1024-464", 0xb39a),+ ("skein1024-472", 0xb39b),+ ("skein1024-480", 0xb39c),+ ("skein1024-488", 0xb39d),+ ("skein1024-496", 0xb39e),+ ("skein1024-504", 0xb39f),+ ("skein1024-512", 0xb3a0),+ ("skein1024-520", 0xb3a1),+ ("skein1024-528", 0xb3a2),+ ("skein1024-536", 0xb3a3),+ ("skein1024-544", 0xb3a4),+ ("skein1024-552", 0xb3a5),+ ("skein1024-560", 0xb3a6),+ ("skein1024-568", 0xb3a7),+ ("skein1024-576", 0xb3a8),+ ("skein1024-584", 0xb3a9),+ ("skein1024-592", 0xb3aa),+ ("skein1024-600", 0xb3ab),+ ("skein1024-608", 0xb3ac),+ ("skein1024-616", 0xb3ad),+ ("skein1024-624", 0xb3ae),+ ("skein1024-632", 0xb3af),+ ("skein1024-640", 0xb3b0),+ ("skein1024-648", 0xb3b1),+ ("skein1024-656", 0xb3b2),+ ("skein1024-664", 0xb3b3),+ ("skein1024-672", 0xb3b4),+ ("skein1024-680", 0xb3b5),+ ("skein1024-688", 0xb3b6),+ ("skein1024-696", 0xb3b7),+ ("skein1024-704", 0xb3b8),+ ("skein1024-712", 0xb3b9),+ ("skein1024-720", 0xb3ba),+ ("skein1024-728", 0xb3bb),+ ("skein1024-736", 0xb3bc),+ ("skein1024-744", 0xb3bd),+ ("skein1024-752", 0xb3be),+ ("skein1024-760", 0xb3bf),+ ("skein1024-768", 0xb3c0),+ ("skein1024-776", 0xb3c1),+ ("skein1024-784", 0xb3c2),+ ("skein1024-792", 0xb3c3),+ ("skein1024-800", 0xb3c4),+ ("skein1024-808", 0xb3c5),+ ("skein1024-816", 0xb3c6),+ ("skein1024-824", 0xb3c7),+ ("skein1024-832", 0xb3c8),+ ("skein1024-840", 0xb3c9),+ ("skein1024-848", 0xb3ca),+ ("skein1024-856", 0xb3cb),+ ("skein1024-864", 0xb3cc),+ ("skein1024-872", 0xb3cd),+ ("skein1024-880", 0xb3ce),+ ("skein1024-888", 0xb3cf),+ ("skein1024-896", 0xb3d0),+ ("skein1024-904", 0xb3d1),+ ("skein1024-912", 0xb3d2),+ ("skein1024-920", 0xb3d3),+ ("skein1024-928", 0xb3d4),+ ("skein1024-936", 0xb3d5),+ ("skein1024-944", 0xb3d6),+ ("skein1024-952", 0xb3d7),+ ("skein1024-960", 0xb3d8),+ ("skein1024-968", 0xb3d9),+ ("skein1024-976", 0xb3da),+ ("skein1024-984", 0xb3db),+ ("skein1024-992", 0xb3dc),+ ("skein1024-1000", 0xb3dd),+ ("skein1024-1008", 0xb3de),+ ("skein1024-1016", 0xb3df),+ ("skein1024-1024", 0xb3e0),+ ("xxh-32", 0xb3e1),+ ("xxh-64", 0xb3e2),+ ("xxh3-64", 0xb3e3),+ ("xxh3-128", 0xb3e4),+ ("poseidon-bls12_381-a2-fc1", 0xb401),+ ("poseidon-bls12_381-a2-fc1-sc", 0xb402),+ ("rdfc-1", 0xb403),+ ("ssz", 0xb501),+ ("ssz-sha2-256-bmt", 0xb502),+ ("sha2-256-chunked", 0xb510),+ ("json-jcs", 0xb601),+ ("bittorrent-pieces-root", 0xb702),+ ("iscc", 0xcc01),+ ("zeroxcert-imprint-256", 0xce11),+ ("bcrypt-pbkdf", 0xd00d),+ ("es256k", 0xd0e7),+ ("bls12_381-g1-sig", 0xd0ea),+ ("bls12_381-g2-sig", 0xd0eb),+ ("eddsa", 0xd0ed),+ ("eip-191", 0xd191),+ ("jwk_jcs-pub", 0xeb51),+ ("ed2k", 0xed20),+ ("fil-commitment-unsealed", 0xf101),+ ("fil-commitment-sealed", 0xf102),+ ("shelter-contract-manifest", 0x511e00),+ ("shelter-contract-text", 0x511e01),+ ("shelter-contract-data", 0x511e02),+ ("shelter-file-manifest", 0x511e03),+ ("shelter-file-chunk", 0x511e04),+ ("plaintextv2", 0x706c61),+ ("holochain-adr-v0", 0x807124),+ ("holochain-adr-v1", 0x817124),+ ("holochain-key-v0", 0x947124),+ ("holochain-key-v1", 0x957124),+ ("holochain-sig-v0", 0xa27124),+ ("holochain-sig-v1", 0xa37124),+ ("skynet-ns", 0xb19910),+ ("arweave-ns", 0xb29910),+ ("subspace-ns", 0xb39910),+ ("kumandra-ns", 0xb49910),+ ("massa", 0xb59910),+ ("massa-mainnet", 0xb59911),+ ("massa-buildnet", 0xb59912),+ ("massa-deweb", 0xb59913),+ ("massa-gossip", 0xb59914),+ ("massa-mns", 0xb59915),+ ("massa-sc", 0xb59916),+ ("massa-gossip-id", 0xb59917),+ ("es256", 0xd01200),+ ("es384", 0xd01201),+ ("es512", 0xd01202),+ ("rs256", 0xd01205),+ ("es256k-msig", 0xd01300),+ ("bls12_381-g1-msig", 0xd01301),+ ("bls12_381-g2-msig", 0xd01302),+ ("eddsa-msig", 0xd01303),+ ("bls12_381-g1-share-msig", 0xd01304),+ ("bls12_381-g2-share-msig", 0xd01305),+ ("lamport-msig", 0xd01306),+ ("lamport-share-msig", 0xd01307),+ ("es256-msig", 0xd01308),+ ("es384-msig", 0xd01309),+ ("es521-msig", 0xd0130a),+ ("rs256-msig", 0xd0130b),+ ("scion", 0xd02000)+ ]++codecToName :: Map VarInt String+codecToName =+ LazyMap.fromList [+ (0x00, "identity"),+ (0x01, "cidv1"),+ (0x02, "cidv2"),+ (0x03, "cidv3"),+ (0x04, "ip4"),+ (0x06, "tcp"),+ (0x11, "sha1"),+ (0x12, "sha2-256"),+ (0x13, "sha2-512"),+ (0x14, "sha3-512"),+ (0x15, "sha3-384"),+ (0x16, "sha3-256"),+ (0x17, "sha3-224"),+ (0x18, "shake-128"),+ (0x19, "shake-256"),+ (0x1a, "keccak-224"),+ (0x1b, "keccak-256"),+ (0x1c, "keccak-384"),+ (0x1d, "keccak-512"),+ (0x1e, "blake3"),+ (0x20, "sha2-384"),+ (0x21, "dccp"),+ (0x22, "murmur3-x64-64"),+ (0x23, "murmur3-32"),+ (0x29, "ip6"),+ (0x2a, "ip6zone"),+ (0x2b, "ipcidr"),+ (0x2f, "path"),+ (0x30, "multicodec"),+ (0x31, "multihash"),+ (0x32, "multiaddr"),+ (0x33, "multibase"),+ (0x34, "varsig"),+ (0x35, "dns"),+ (0x36, "dns4"),+ (0x37, "dns6"),+ (0x38, "dnsaddr"),+ (0x50, "protobuf"),+ (0x51, "cbor"),+ (0x55, "raw"),+ (0x56, "dbl-sha2-256"),+ (0x60, "rlp"),+ (0x63, "bencode"),+ (0x70, "dag-pb"),+ (0x71, "dag-cbor"),+ (0x72, "libp2p-key"),+ (0x78, "git-raw"),+ (0x7b, "torrent-info"),+ (0x7c, "torrent-file"),+ (0x80, "blake3-hashseq"),+ (0x81, "leofcoin-block"),+ (0x82, "leofcoin-tx"),+ (0x83, "leofcoin-pr"),+ (0x84, "sctp"),+ (0x85, "dag-jose"),+ (0x86, "dag-cose"),+ (0x8c, "lbry"),+ (0x90, "eth-block"),+ (0x91, "eth-block-list"),+ (0x92, "eth-tx-trie"),+ (0x93, "eth-tx"),+ (0x94, "eth-tx-receipt-trie"),+ (0x95, "eth-tx-receipt"),+ (0x96, "eth-state-trie"),+ (0x97, "eth-account-snapshot"),+ (0x98, "eth-storage-trie"),+ (0x99, "eth-receipt-log-trie"),+ (0x9a, "eth-receipt-log"),+ (0xa0, "aes-128"),+ (0xa1, "aes-192"),+ (0xa2, "aes-256"),+ (0xa3, "chacha-128"),+ (0xa4, "chacha-256"),+ (0xb0, "bitcoin-block"),+ (0xb1, "bitcoin-tx"),+ (0xb2, "bitcoin-witness-commitment"),+ (0xc0, "zcash-block"),+ (0xc1, "zcash-tx"),+ (0xca, "caip-50"),+ (0xce, "streamid"),+ (0xd0, "stellar-block"),+ (0xd1, "stellar-tx"),+ (0xd4, "md4"),+ (0xd5, "md5"),+ (0xe0, "decred-block"),+ (0xe1, "decred-tx"),+ (0xe2, "ipld"),+ (0xe3, "ipfs"),+ (0xe4, "swarm"),+ (0xe5, "ipns"),+ (0xe6, "zeronet"),+ (0xe7, "secp256k1-pub"),+ (0xe8, "dnslink"),+ (0xea, "bls12_381-g1-pub"),+ (0xeb, "bls12_381-g2-pub"),+ (0xec, "x25519-pub"),+ (0xed, "ed25519-pub"),+ (0xee, "bls12_381-g1g2-pub"),+ (0xef, "sr25519-pub"),+ (0xf0, "dash-block"),+ (0xf1, "dash-tx"),+ (0xfa, "swarm-manifest"),+ (0xfb, "swarm-feed"),+ (0xfc, "beeson"),+ (0x0111, "udp"),+ (0x0118, "webrtc-direct"),+ (0x0119, "webrtc"),+ (0x0122, "p2p-circuit"),+ (0x0129, "dag-json"),+ (0x012d, "udt"),+ (0x012e, "utp"),+ (0x0132, "crc32"),+ (0x0164, "crc64-ecma"),+ (0x0165, "crc64-nvme"),+ (0x0190, "unix"),+ (0x0196, "thread"),+ (0x01a5, "p2p"),+ (0x01bb, "https"),+ (0x01bc, "onion"),+ (0x01bd, "onion3"),+ (0x01be, "garlic64"),+ (0x01bf, "garlic32"),+ (0x01c0, "tls"),+ (0x01c1, "sni"),+ (0x01c6, "noise"),+ (0x01c8, "shs"),+ (0x01cc, "quic"),+ (0x01cd, "quic-v1"),+ (0x01d1, "webtransport"),+ (0x01d2, "certhash"),+ (0x01dd, "ws"),+ (0x01de, "wss"),+ (0x01df, "p2p-websocket-star"),+ (0x01e0, "http"),+ (0x01e1, "http-path"),+ (0x01f0, "swhid-1-snp"),+ (0x0200, "json"),+ (0x0201, "messagepack"),+ (0x0202, "car"),+ (0x0210, "x509-certificate"),+ (0x0300, "ipns-record"),+ (0x0301, "libp2p-peer-record"),+ (0x0302, "libp2p-relay-rsvp"),+ (0x0309, "memorytransport"),+ (0x0400, "car-index-sorted"),+ (0x0401, "car-multihash-index-sorted"),+ (0x0900, "transport-bitswap"),+ (0x0910, "transport-graphsync-filecoinv1"),+ (0x0920, "transport-ipfs-gateway-http"),+ (0x0930, "transport-filecoin-piece-http"),+ (0x0d1d, "multidid"),+ (0x1011, "fr32-sha256-trunc254-padbintree"),+ (0x1012, "sha2-256-trunc254-padded"),+ (0x1013, "sha2-224"),+ (0x1014, "sha2-512-224"),+ (0x1015, "sha2-512-256"),+ (0x1022, "murmur3-x64-128"),+ (0x1052, "ripemd-128"),+ (0x1053, "ripemd-160"),+ (0x1054, "ripemd-256"),+ (0x1055, "ripemd-320"),+ (0x1100, "x11"),+ (0x1200, "p256-pub"),+ (0x1201, "p384-pub"),+ (0x1202, "p521-pub"),+ (0x1203, "ed448-pub"),+ (0x1204, "x448-pub"),+ (0x1205, "rsa-pub"),+ (0x1206, "sm2-pub"),+ (0x1207, "vlad"),+ (0x1208, "provenance-log"),+ (0x1209, "provenance-log-entry"),+ (0x120a, "provenance-log-script"),+ (0x120b, "mlkem-512-pub"),+ (0x120c, "mlkem-768-pub"),+ (0x120d, "mlkem-1024-pub"),+ (0x1210, "mldsa-44-pub"),+ (0x1211, "mldsa-65-pub"),+ (0x1212, "mldsa-87-pub"),+ (0x1220, "slhdsa-sha2-128s-pub"),+ (0x1221, "slhdsa-shake-128s-pub"),+ (0x1222, "slhdsa-sha2-128f-pub"),+ (0x1223, "slhdsa-shake-128f-pub"),+ (0x1224, "slhdsa-sha2-192s-pub"),+ (0x1225, "slhdsa-shake-192s-pub"),+ (0x1226, "slhdsa-sha2-192f-pub"),+ (0x1227, "slhdsa-shake-192f-pub"),+ (0x1228, "slhdsa-sha2-256s-pub"),+ (0x1229, "slhdsa-shake-256s-pub"),+ (0x122a, "slhdsa-sha2-256f-pub"),+ (0x122b, "slhdsa-shake-256f-pub"),+ (0x1239, "multisig"),+ (0x123a, "multikey"),+ (0x123b, "nonce"),+ (0x1300, "ed25519-priv"),+ (0x1301, "secp256k1-priv"),+ (0x1302, "x25519-priv"),+ (0x1303, "sr25519-priv"),+ (0x1305, "rsa-priv"),+ (0x1306, "p256-priv"),+ (0x1307, "p384-priv"),+ (0x1308, "p521-priv"),+ (0x1309, "bls12_381-g1-priv"),+ (0x130a, "bls12_381-g2-priv"),+ (0x130b, "bls12_381-g1g2-priv"),+ (0x130c, "bls12_381-g1-pub-share"),+ (0x130d, "bls12_381-g2-pub-share"),+ (0x130e, "bls12_381-g1-priv-share"),+ (0x130f, "bls12_381-g2-priv-share"),+ (0x1310, "sm2-priv"),+ (0x1311, "ed448-priv"),+ (0x1312, "x448-priv"),+ (0x1313, "mlkem-512-priv"),+ (0x1314, "mlkem-768-priv"),+ (0x1315, "mlkem-1024-priv"),+ (0x1316, "jwk_jcs-priv"),+ (0x1a14, "lamport-sha3-512-pub"),+ (0x1a15, "lamport-sha3-384-pub"),+ (0x1a16, "lamport-sha3-256-pub"),+ (0x1a24, "lamport-sha3-512-priv"),+ (0x1a25, "lamport-sha3-384-priv"),+ (0x1a26, "lamport-sha3-256-priv"),+ (0x1a34, "lamport-sha3-512-priv-share"),+ (0x1a35, "lamport-sha3-384-priv-share"),+ (0x1a36, "lamport-sha3-256-priv-share"),+ (0x1a44, "lamport-sha3-512-sig"),+ (0x1a45, "lamport-sha3-384-sig"),+ (0x1a46, "lamport-sha3-256-sig"),+ (0x1a54, "lamport-sha3-512-sig-share"),+ (0x1a55, "lamport-sha3-384-sig-share"),+ (0x1a56, "lamport-sha3-256-sig-share"),+ (0x1d01, "kt-128"),+ (0x1d02, "kt-256"),+ (0x2000, "aes-gcm-256"),+ (0x3f42, "silverpine"),+ (0x534d, "sm3-256"),+ (0x7012, "sha256a"),+ (0xa000, "chacha20-poly1305"),+ (0xb201, "blake2b-8"),+ (0xb202, "blake2b-16"),+ (0xb203, "blake2b-24"),+ (0xb204, "blake2b-32"),+ (0xb205, "blake2b-40"),+ (0xb206, "blake2b-48"),+ (0xb207, "blake2b-56"),+ (0xb208, "blake2b-64"),+ (0xb209, "blake2b-72"),+ (0xb20a, "blake2b-80"),+ (0xb20b, "blake2b-88"),+ (0xb20c, "blake2b-96"),+ (0xb20d, "blake2b-104"),+ (0xb20e, "blake2b-112"),+ (0xb20f, "blake2b-120"),+ (0xb210, "blake2b-128"),+ (0xb211, "blake2b-136"),+ (0xb212, "blake2b-144"),+ (0xb213, "blake2b-152"),+ (0xb214, "blake2b-160"),+ (0xb215, "blake2b-168"),+ (0xb216, "blake2b-176"),+ (0xb217, "blake2b-184"),+ (0xb218, "blake2b-192"),+ (0xb219, "blake2b-200"),+ (0xb21a, "blake2b-208"),+ (0xb21b, "blake2b-216"),+ (0xb21c, "blake2b-224"),+ (0xb21d, "blake2b-232"),+ (0xb21e, "blake2b-240"),+ (0xb21f, "blake2b-248"),+ (0xb220, "blake2b-256"),+ (0xb221, "blake2b-264"),+ (0xb222, "blake2b-272"),+ (0xb223, "blake2b-280"),+ (0xb224, "blake2b-288"),+ (0xb225, "blake2b-296"),+ (0xb226, "blake2b-304"),+ (0xb227, "blake2b-312"),+ (0xb228, "blake2b-320"),+ (0xb229, "blake2b-328"),+ (0xb22a, "blake2b-336"),+ (0xb22b, "blake2b-344"),+ (0xb22c, "blake2b-352"),+ (0xb22d, "blake2b-360"),+ (0xb22e, "blake2b-368"),+ (0xb22f, "blake2b-376"),+ (0xb230, "blake2b-384"),+ (0xb231, "blake2b-392"),+ (0xb232, "blake2b-400"),+ (0xb233, "blake2b-408"),+ (0xb234, "blake2b-416"),+ (0xb235, "blake2b-424"),+ (0xb236, "blake2b-432"),+ (0xb237, "blake2b-440"),+ (0xb238, "blake2b-448"),+ (0xb239, "blake2b-456"),+ (0xb23a, "blake2b-464"),+ (0xb23b, "blake2b-472"),+ (0xb23c, "blake2b-480"),+ (0xb23d, "blake2b-488"),+ (0xb23e, "blake2b-496"),+ (0xb23f, "blake2b-504"),+ (0xb240, "blake2b-512"),+ (0xb241, "blake2s-8"),+ (0xb242, "blake2s-16"),+ (0xb243, "blake2s-24"),+ (0xb244, "blake2s-32"),+ (0xb245, "blake2s-40"),+ (0xb246, "blake2s-48"),+ (0xb247, "blake2s-56"),+ (0xb248, "blake2s-64"),+ (0xb249, "blake2s-72"),+ (0xb24a, "blake2s-80"),+ (0xb24b, "blake2s-88"),+ (0xb24c, "blake2s-96"),+ (0xb24d, "blake2s-104"),+ (0xb24e, "blake2s-112"),+ (0xb24f, "blake2s-120"),+ (0xb250, "blake2s-128"),+ (0xb251, "blake2s-136"),+ (0xb252, "blake2s-144"),+ (0xb253, "blake2s-152"),+ (0xb254, "blake2s-160"),+ (0xb255, "blake2s-168"),+ (0xb256, "blake2s-176"),+ (0xb257, "blake2s-184"),+ (0xb258, "blake2s-192"),+ (0xb259, "blake2s-200"),+ (0xb25a, "blake2s-208"),+ (0xb25b, "blake2s-216"),+ (0xb25c, "blake2s-224"),+ (0xb25d, "blake2s-232"),+ (0xb25e, "blake2s-240"),+ (0xb25f, "blake2s-248"),+ (0xb260, "blake2s-256"),+ (0xb301, "skein256-8"),+ (0xb302, "skein256-16"),+ (0xb303, "skein256-24"),+ (0xb304, "skein256-32"),+ (0xb305, "skein256-40"),+ (0xb306, "skein256-48"),+ (0xb307, "skein256-56"),+ (0xb308, "skein256-64"),+ (0xb309, "skein256-72"),+ (0xb30a, "skein256-80"),+ (0xb30b, "skein256-88"),+ (0xb30c, "skein256-96"),+ (0xb30d, "skein256-104"),+ (0xb30e, "skein256-112"),+ (0xb30f, "skein256-120"),+ (0xb310, "skein256-128"),+ (0xb311, "skein256-136"),+ (0xb312, "skein256-144"),+ (0xb313, "skein256-152"),+ (0xb314, "skein256-160"),+ (0xb315, "skein256-168"),+ (0xb316, "skein256-176"),+ (0xb317, "skein256-184"),+ (0xb318, "skein256-192"),+ (0xb319, "skein256-200"),+ (0xb31a, "skein256-208"),+ (0xb31b, "skein256-216"),+ (0xb31c, "skein256-224"),+ (0xb31d, "skein256-232"),+ (0xb31e, "skein256-240"),+ (0xb31f, "skein256-248"),+ (0xb320, "skein256-256"),+ (0xb321, "skein512-8"),+ (0xb322, "skein512-16"),+ (0xb323, "skein512-24"),+ (0xb324, "skein512-32"),+ (0xb325, "skein512-40"),+ (0xb326, "skein512-48"),+ (0xb327, "skein512-56"),+ (0xb328, "skein512-64"),+ (0xb329, "skein512-72"),+ (0xb32a, "skein512-80"),+ (0xb32b, "skein512-88"),+ (0xb32c, "skein512-96"),+ (0xb32d, "skein512-104"),+ (0xb32e, "skein512-112"),+ (0xb32f, "skein512-120"),+ (0xb330, "skein512-128"),+ (0xb331, "skein512-136"),+ (0xb332, "skein512-144"),+ (0xb333, "skein512-152"),+ (0xb334, "skein512-160"),+ (0xb335, "skein512-168"),+ (0xb336, "skein512-176"),+ (0xb337, "skein512-184"),+ (0xb338, "skein512-192"),+ (0xb339, "skein512-200"),+ (0xb33a, "skein512-208"),+ (0xb33b, "skein512-216"),+ (0xb33c, "skein512-224"),+ (0xb33d, "skein512-232"),+ (0xb33e, "skein512-240"),+ (0xb33f, "skein512-248"),+ (0xb340, "skein512-256"),+ (0xb341, "skein512-264"),+ (0xb342, "skein512-272"),+ (0xb343, "skein512-280"),+ (0xb344, "skein512-288"),+ (0xb345, "skein512-296"),+ (0xb346, "skein512-304"),+ (0xb347, "skein512-312"),+ (0xb348, "skein512-320"),+ (0xb349, "skein512-328"),+ (0xb34a, "skein512-336"),+ (0xb34b, "skein512-344"),+ (0xb34c, "skein512-352"),+ (0xb34d, "skein512-360"),+ (0xb34e, "skein512-368"),+ (0xb34f, "skein512-376"),+ (0xb350, "skein512-384"),+ (0xb351, "skein512-392"),+ (0xb352, "skein512-400"),+ (0xb353, "skein512-408"),+ (0xb354, "skein512-416"),+ (0xb355, "skein512-424"),+ (0xb356, "skein512-432"),+ (0xb357, "skein512-440"),+ (0xb358, "skein512-448"),+ (0xb359, "skein512-456"),+ (0xb35a, "skein512-464"),+ (0xb35b, "skein512-472"),+ (0xb35c, "skein512-480"),+ (0xb35d, "skein512-488"),+ (0xb35e, "skein512-496"),+ (0xb35f, "skein512-504"),+ (0xb360, "skein512-512"),+ (0xb361, "skein1024-8"),+ (0xb362, "skein1024-16"),+ (0xb363, "skein1024-24"),+ (0xb364, "skein1024-32"),+ (0xb365, "skein1024-40"),+ (0xb366, "skein1024-48"),+ (0xb367, "skein1024-56"),+ (0xb368, "skein1024-64"),+ (0xb369, "skein1024-72"),+ (0xb36a, "skein1024-80"),+ (0xb36b, "skein1024-88"),+ (0xb36c, "skein1024-96"),+ (0xb36d, "skein1024-104"),+ (0xb36e, "skein1024-112"),+ (0xb36f, "skein1024-120"),+ (0xb370, "skein1024-128"),+ (0xb371, "skein1024-136"),+ (0xb372, "skein1024-144"),+ (0xb373, "skein1024-152"),+ (0xb374, "skein1024-160"),+ (0xb375, "skein1024-168"),+ (0xb376, "skein1024-176"),+ (0xb377, "skein1024-184"),+ (0xb378, "skein1024-192"),+ (0xb379, "skein1024-200"),+ (0xb37a, "skein1024-208"),+ (0xb37b, "skein1024-216"),+ (0xb37c, "skein1024-224"),+ (0xb37d, "skein1024-232"),+ (0xb37e, "skein1024-240"),+ (0xb37f, "skein1024-248"),+ (0xb380, "skein1024-256"),+ (0xb381, "skein1024-264"),+ (0xb382, "skein1024-272"),+ (0xb383, "skein1024-280"),+ (0xb384, "skein1024-288"),+ (0xb385, "skein1024-296"),+ (0xb386, "skein1024-304"),+ (0xb387, "skein1024-312"),+ (0xb388, "skein1024-320"),+ (0xb389, "skein1024-328"),+ (0xb38a, "skein1024-336"),+ (0xb38b, "skein1024-344"),+ (0xb38c, "skein1024-352"),+ (0xb38d, "skein1024-360"),+ (0xb38e, "skein1024-368"),+ (0xb38f, "skein1024-376"),+ (0xb390, "skein1024-384"),+ (0xb391, "skein1024-392"),+ (0xb392, "skein1024-400"),+ (0xb393, "skein1024-408"),+ (0xb394, "skein1024-416"),+ (0xb395, "skein1024-424"),+ (0xb396, "skein1024-432"),+ (0xb397, "skein1024-440"),+ (0xb398, "skein1024-448"),+ (0xb399, "skein1024-456"),+ (0xb39a, "skein1024-464"),+ (0xb39b, "skein1024-472"),+ (0xb39c, "skein1024-480"),+ (0xb39d, "skein1024-488"),+ (0xb39e, "skein1024-496"),+ (0xb39f, "skein1024-504"),+ (0xb3a0, "skein1024-512"),+ (0xb3a1, "skein1024-520"),+ (0xb3a2, "skein1024-528"),+ (0xb3a3, "skein1024-536"),+ (0xb3a4, "skein1024-544"),+ (0xb3a5, "skein1024-552"),+ (0xb3a6, "skein1024-560"),+ (0xb3a7, "skein1024-568"),+ (0xb3a8, "skein1024-576"),+ (0xb3a9, "skein1024-584"),+ (0xb3aa, "skein1024-592"),+ (0xb3ab, "skein1024-600"),+ (0xb3ac, "skein1024-608"),+ (0xb3ad, "skein1024-616"),+ (0xb3ae, "skein1024-624"),+ (0xb3af, "skein1024-632"),+ (0xb3b0, "skein1024-640"),+ (0xb3b1, "skein1024-648"),+ (0xb3b2, "skein1024-656"),+ (0xb3b3, "skein1024-664"),+ (0xb3b4, "skein1024-672"),+ (0xb3b5, "skein1024-680"),+ (0xb3b6, "skein1024-688"),+ (0xb3b7, "skein1024-696"),+ (0xb3b8, "skein1024-704"),+ (0xb3b9, "skein1024-712"),+ (0xb3ba, "skein1024-720"),+ (0xb3bb, "skein1024-728"),+ (0xb3bc, "skein1024-736"),+ (0xb3bd, "skein1024-744"),+ (0xb3be, "skein1024-752"),+ (0xb3bf, "skein1024-760"),+ (0xb3c0, "skein1024-768"),+ (0xb3c1, "skein1024-776"),+ (0xb3c2, "skein1024-784"),+ (0xb3c3, "skein1024-792"),+ (0xb3c4, "skein1024-800"),+ (0xb3c5, "skein1024-808"),+ (0xb3c6, "skein1024-816"),+ (0xb3c7, "skein1024-824"),+ (0xb3c8, "skein1024-832"),+ (0xb3c9, "skein1024-840"),+ (0xb3ca, "skein1024-848"),+ (0xb3cb, "skein1024-856"),+ (0xb3cc, "skein1024-864"),+ (0xb3cd, "skein1024-872"),+ (0xb3ce, "skein1024-880"),+ (0xb3cf, "skein1024-888"),+ (0xb3d0, "skein1024-896"),+ (0xb3d1, "skein1024-904"),+ (0xb3d2, "skein1024-912"),+ (0xb3d3, "skein1024-920"),+ (0xb3d4, "skein1024-928"),+ (0xb3d5, "skein1024-936"),+ (0xb3d6, "skein1024-944"),+ (0xb3d7, "skein1024-952"),+ (0xb3d8, "skein1024-960"),+ (0xb3d9, "skein1024-968"),+ (0xb3da, "skein1024-976"),+ (0xb3db, "skein1024-984"),+ (0xb3dc, "skein1024-992"),+ (0xb3dd, "skein1024-1000"),+ (0xb3de, "skein1024-1008"),+ (0xb3df, "skein1024-1016"),+ (0xb3e0, "skein1024-1024"),+ (0xb3e1, "xxh-32"),+ (0xb3e2, "xxh-64"),+ (0xb3e3, "xxh3-64"),+ (0xb3e4, "xxh3-128"),+ (0xb401, "poseidon-bls12_381-a2-fc1"),+ (0xb402, "poseidon-bls12_381-a2-fc1-sc"),+ (0xb403, "rdfc-1"),+ (0xb501, "ssz"),+ (0xb502, "ssz-sha2-256-bmt"),+ (0xb510, "sha2-256-chunked"),+ (0xb601, "json-jcs"),+ (0xb702, "bittorrent-pieces-root"),+ (0xcc01, "iscc"),+ (0xce11, "zeroxcert-imprint-256"),+ (0xd00d, "bcrypt-pbkdf"),+ (0xd0e7, "es256k"),+ (0xd0ea, "bls12_381-g1-sig"),+ (0xd0eb, "bls12_381-g2-sig"),+ (0xd0ed, "eddsa"),+ (0xd191, "eip-191"),+ (0xeb51, "jwk_jcs-pub"),+ (0xed20, "ed2k"),+ (0xf101, "fil-commitment-unsealed"),+ (0xf102, "fil-commitment-sealed"),+ (0x511e00, "shelter-contract-manifest"),+ (0x511e01, "shelter-contract-text"),+ (0x511e02, "shelter-contract-data"),+ (0x511e03, "shelter-file-manifest"),+ (0x511e04, "shelter-file-chunk"),+ (0x706c61, "plaintextv2"),+ (0x807124, "holochain-adr-v0"),+ (0x817124, "holochain-adr-v1"),+ (0x947124, "holochain-key-v0"),+ (0x957124, "holochain-key-v1"),+ (0xa27124, "holochain-sig-v0"),+ (0xa37124, "holochain-sig-v1"),+ (0xb19910, "skynet-ns"),+ (0xb29910, "arweave-ns"),+ (0xb39910, "subspace-ns"),+ (0xb49910, "kumandra-ns"),+ (0xb59910, "massa"),+ (0xb59911, "massa-mainnet"),+ (0xb59912, "massa-buildnet"),+ (0xb59913, "massa-deweb"),+ (0xb59914, "massa-gossip"),+ (0xb59915, "massa-mns"),+ (0xb59916, "massa-sc"),+ (0xb59917, "massa-gossip-id"),+ (0xd01200, "es256"),+ (0xd01201, "es384"),+ (0xd01202, "es512"),+ (0xd01205, "rs256"),+ (0xd01300, "es256k-msig"),+ (0xd01301, "bls12_381-g1-msig"),+ (0xd01302, "bls12_381-g2-msig"),+ (0xd01303, "eddsa-msig"),+ (0xd01304, "bls12_381-g1-share-msig"),+ (0xd01305, "bls12_381-g2-share-msig"),+ (0xd01306, "lamport-msig"),+ (0xd01307, "lamport-share-msig"),+ (0xd01308, "es256-msig"),+ (0xd01309, "es384-msig"),+ (0xd0130a, "es521-msig"),+ (0xd0130b, "rs256-msig"),+ (0xd02000, "scion")+ ]+
multihash/MultiFormats/MultiHash.hs view
@@ -26,7 +26,8 @@ import Data.Map (Map) import Data.Map qualified as LazyMap import Data.Maybe (fromMaybe, mapMaybe)-import MultiFormats.MultiCodec (MultiCodec (..), resolveCodecName, resolveCodecValue)+import MultiFormats.MultiCodec (MultiCodec (..))+import MultiFormats.MultiCodec qualified as MC import Text.Printf (printf) -- | Alias for the type of function signture we want from a hash function.@@ -44,7 +45,7 @@ show = printf "MultiHash(%s)" . fromMaybe "<invalid codec>"- . resolveCodecName+ . MC.resolveCodecName . multiHashCodec instance Eq MultiHash where@@ -60,7 +61,7 @@ -- | Resolves a MultiHash from MultiCodec name. resolveHashName :: String -> Maybe MultiHash-resolveHashName name = resolveHashCodec =<< resolveCodecValue name+resolveHashName name = resolveHashCodec =<< MC.resolveCodecValue name -- Provides an implementation for the given HashAlgorithm. hashImpl :: (HashAlgorithm a) => a -> Maybe HashFunction@@ -80,7 +81,7 @@ LazyMap.fromList $ -- This should leave the hfuncs unevaluted in the Map. mapMaybe- (\(name, hfunc) -> (,hfunc) <$> resolveCodecValue name)+ (\(name, hfunc) -> (,hfunc) <$> MC.resolveCodecValue name) [ ("identity", Just id), ("sha1", hashImpl Algo.SHA1), ("sha2-256", hashImpl Algo.SHA256),