├── .github └── workflows │ ├── generated-pr.yml │ ├── go-check-config.json │ ├── go-check.yml │ ├── go-generate.yml │ ├── go-test.yml │ ├── release-check.yml │ ├── releaser.yml │ ├── stale.yml │ └── tagpush.yml ├── .gitmodules ├── LICENSE ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── code.go ├── code_string.go ├── code_table.go ├── code_test.go ├── gen.go ├── go.mod ├── go.sum └── version.json /.github/workflows/generated-pr.yml: -------------------------------------------------------------------------------- 1 | name: Close Generated PRs 2 | 3 | on: 4 | schedule: 5 | - cron: '0 0 * * *' 6 | workflow_dispatch: 7 | 8 | permissions: 9 | issues: write 10 | pull-requests: write 11 | 12 | jobs: 13 | stale: 14 | uses: ipdxco/unified-github-workflows/.github/workflows/reusable-generated-pr.yml@v1 15 | -------------------------------------------------------------------------------- /.github/workflows/go-check-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "gogenerate": true 3 | } 4 | -------------------------------------------------------------------------------- /.github/workflows/go-check.yml: -------------------------------------------------------------------------------- 1 | name: Go Checks 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: ["master"] 7 | workflow_dispatch: 8 | 9 | permissions: 10 | contents: read 11 | 12 | concurrency: 13 | group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event_name == 'push' && github.sha || github.ref }} 14 | cancel-in-progress: true 15 | 16 | jobs: 17 | go-check: 18 | uses: ipdxco/unified-github-workflows/.github/workflows/go-check.yml@v1.0 19 | -------------------------------------------------------------------------------- /.github/workflows/go-generate.yml: -------------------------------------------------------------------------------- 1 | name: Go Generate 2 | on: 3 | workflow_dispatch: 4 | schedule: 5 | - cron: '0 0 * * 0' 6 | 7 | jobs: 8 | generate: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v3 12 | with: 13 | submodules: recursive 14 | - uses: actions/setup-go@v3 15 | with: 16 | go-version: "1.19.x" 17 | - run: git submodule update --init --recursive --remote 18 | - run: go generate 19 | - uses: peter-evans/create-pull-request@ad43dccb4d726ca8514126628bec209b8354b6dd # Create Pull Request v4.1.4 20 | with: 21 | commit-message: "chore: update submodules and go generate" 22 | branch: go-generate 23 | title: "Changes by ${{ github.workflow }} workflow" 24 | body: "Automated changes by [${{ github.workflow }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) workflow run" 25 | -------------------------------------------------------------------------------- /.github/workflows/go-test.yml: -------------------------------------------------------------------------------- 1 | name: Go Test 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: ["master"] 7 | workflow_dispatch: 8 | 9 | permissions: 10 | contents: read 11 | 12 | concurrency: 13 | group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event_name == 'push' && github.sha || github.ref }} 14 | cancel-in-progress: true 15 | 16 | jobs: 17 | go-test: 18 | uses: ipdxco/unified-github-workflows/.github/workflows/go-test.yml@v1.0 19 | secrets: 20 | CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} 21 | -------------------------------------------------------------------------------- /.github/workflows/release-check.yml: -------------------------------------------------------------------------------- 1 | name: Release Checker 2 | 3 | on: 4 | pull_request_target: 5 | paths: [ 'version.json' ] 6 | types: [ opened, synchronize, reopened, labeled, unlabeled ] 7 | workflow_dispatch: 8 | 9 | permissions: 10 | contents: write 11 | pull-requests: write 12 | 13 | concurrency: 14 | group: ${{ github.workflow }}-${{ github.ref }} 15 | cancel-in-progress: true 16 | 17 | jobs: 18 | release-check: 19 | uses: ipdxco/unified-github-workflows/.github/workflows/release-check.yml@v1.0 20 | -------------------------------------------------------------------------------- /.github/workflows/releaser.yml: -------------------------------------------------------------------------------- 1 | name: Releaser 2 | 3 | on: 4 | push: 5 | paths: [ 'version.json' ] 6 | workflow_dispatch: 7 | 8 | permissions: 9 | contents: write 10 | 11 | concurrency: 12 | group: ${{ github.workflow }}-${{ github.sha }} 13 | cancel-in-progress: true 14 | 15 | jobs: 16 | releaser: 17 | uses: ipdxco/unified-github-workflows/.github/workflows/releaser.yml@v1.0 18 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: Close Stale Issues 2 | 3 | on: 4 | schedule: 5 | - cron: '0 0 * * *' 6 | workflow_dispatch: 7 | 8 | permissions: 9 | issues: write 10 | pull-requests: write 11 | 12 | jobs: 13 | stale: 14 | uses: ipdxco/unified-github-workflows/.github/workflows/reusable-stale-issue.yml@v1 15 | -------------------------------------------------------------------------------- /.github/workflows/tagpush.yml: -------------------------------------------------------------------------------- 1 | name: Tag Push Checker 2 | 3 | on: 4 | push: 5 | tags: 6 | - v* 7 | 8 | permissions: 9 | contents: read 10 | issues: write 11 | 12 | concurrency: 13 | group: ${{ github.workflow }}-${{ github.ref }} 14 | cancel-in-progress: true 15 | 16 | jobs: 17 | releaser: 18 | uses: ipdxco/unified-github-workflows/.github/workflows/tagpush.yml@v1.0 19 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "multicodec"] 2 | path = multicodec 3 | url = https://github.com/multiformats/multicodec 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This library is dual-licensed under either of Apache 2.0 or MIT terms: 2 | 3 | - Apache-2.0 Software License: https://www.apache.org/licenses/LICENSE-2.0 4 | 5 | - MIT Software License: https://opensource.org/licenses/MIT 6 | 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the terms listed in this notice is distributed on 9 | an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 10 | either express or implied. See each License for the specific language 11 | governing permissions and limitations under that License. 12 | 13 | 14 | `SPDX-License-Identifier: Apache-2.0 OR MIT` 15 | -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020 The Contributors 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at 4 | 5 | http://www.apache.org/licenses/LICENSE-2.0 6 | 7 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 8 | -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 The Contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # go-multicodec 2 | 3 | [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) 4 | 5 | > Generated Go constants for the [multicodec table](https://github.com/multiformats/multicodec) used by the [multiformats](https://github.com/multiformats/multiformats) projects. 6 | 7 | ## Table of Contents 8 | 9 | - [Install](#install) 10 | - [Type](#type) 11 | - [Usage](#usage) 12 | - [Importing Code constant](#importing-code-constant) 13 | - [Code from string](#code-from-string) 14 | - [Code from uint64](#code-from-uint64) 15 | - [Generator](#generator) 16 | - [With old table.csv](#with-old-tablecsv) 17 | - [With updated table.csv](#with-updated-tablecsv) 18 | - [Maintainers](#maintainers) 19 | - [Contribute](#contribute) 20 | - [License](#license) 21 | 22 | ## Install 23 | 24 | `go-multicodec` is a standard Go module: 25 | 26 | go get github.com/multiformats/go-multicodec 27 | 28 | 29 | ## Type 30 | 31 | `Code` describes an integer reserved in the multicodec table, defined at [multiformats/multicodec/table.csv](https://github.com/multiformats/multicodec/blob/master/table.csv). 32 | 33 | ```go 34 | type Code uint64 35 | ``` 36 | 37 | ## Usage 38 | 39 | ### Importing Code constant 40 | 41 | ```go 42 | package main 43 | 44 | import "github.com/multiformats/go-multicodec" 45 | 46 | func main() { 47 | code := multicodec.Sha2_256 // Code 48 | name := multicodec.Sha2_256.String() 49 | } 50 | ``` 51 | 52 | The corresponding `name` value for each codec from the [multicodecs table](https://raw.githubusercontent.com/multiformats/multicodec/master/table.csv) can be accessed via its `String` method. For example, `multicodec.Sha2_256.String()` will return `sha2-256`. 53 | 54 | ### Code from string 55 | 56 | ```go 57 | var multicodec.Code code 58 | err := code.Set("libp2p-key") 59 | ``` 60 | 61 | 62 | ### Code from uint64 63 | 64 | ```go 65 | rawCode := multicodec.Code(0x55) 66 | ``` 67 | 68 | ## Generator 69 | 70 | ### With old table.csv 71 | 72 | To generate the constants yourself: 73 | 74 | ```console 75 | $ git clone https://github.com/multiformats/go-multicodec 76 | $ cd go-multicodec 77 | $ git submodule init && git submodule update 78 | $ go generate 79 | ``` 80 | 81 | Note: You may need to install `stringer` via `go install golang.org/x/tools/cmd/stringer`. 82 | 83 | ### With updated table.csv 84 | 85 | To generate the constants for the latest [table.csv](https://github.com/multiformats/multicodec/blob/master/table.csv): 86 | 87 | ```console 88 | $ git clone https://github.com/multiformats/go-multicodec 89 | $ cd go-multicodec 90 | $ git submodule init 91 | $ git submodule update --remote # updates ./multicodec/table.csv to upstream version 92 | $ go generate 93 | ``` 94 | 95 | ## Maintainers 96 | 97 | [@mvdan](https://github.com/mvdan). 98 | 99 | ## Contribute 100 | 101 | Contributions welcome. Please check out [the issues](https://github.com/multiformats/go-multicodec/issues). 102 | 103 | Check out our [contributing document](https://github.com/multiformats/multiformats/blob/master/contributing.md) for more information on how we work, and about contributing in general. Please be aware that all interactions related to multiformats are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md). 104 | 105 | Small note: If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification. 106 | 107 | ## License 108 | 109 | SPDX-License-Identifier: Apache-2.0 OR MIT 110 | -------------------------------------------------------------------------------- /code.go: -------------------------------------------------------------------------------- 1 | // Package multicodec exposes the multicodec table as Go constants. 2 | package multicodec 3 | 4 | import ( 5 | "flag" 6 | "fmt" 7 | "strconv" 8 | ) 9 | 10 | //go:generate go run gen.go 11 | //go:generate gofmt -w code_table.go 12 | //go:generate go run golang.org/x/tools/cmd/stringer@v0.24.0 -type=Code -linecomment 13 | 14 | // Code describes an integer reserved in the multicodec table, defined at 15 | // github.com/multiformats/multicodec. 16 | type Code uint64 17 | 18 | // Assert that Code implements flag.Value. 19 | // Requires a pointer, since Set modifies the receiver. 20 | // 21 | // Note that we don't implement encoding.TextMarshaler and encoding.TextUnmarshaler. 22 | // That's on purpose; even though multicodec names are stable just like the codes, 23 | // Go should still generally encode and decode multicodecs by their code number. 24 | // Many encoding libraries like xml and json default to TextMarshaler if it exists. 25 | // 26 | // Conversely, implementing flag.Value makes sense; 27 | // --someflag=sha1 is useful as it would often be typed by a human. 28 | var _ flag.Value = (*Code)(nil) 29 | 30 | // Assert that Code implements fmt.Stringer without a pointer. 31 | var _ fmt.Stringer = Code(0) 32 | 33 | // ReservedStart is the (inclusive) start of the reserved range of codes that 34 | // are safe to use for internal purposes. 35 | const ReservedStart = 0x300000 36 | 37 | // ReservedEnd is the (inclusive) end of the reserved range of codes that are 38 | // safe to use for internal purposes. 39 | const ReservedEnd = 0x3FFFFF 40 | 41 | // Set implements flag.Value, interpreting the input string as a multicodec and 42 | // setting the receiver to it. 43 | // 44 | // The input string can be the name or number for a known code. A number can be 45 | // in any format accepted by strconv.ParseUint with base 0, including decimal 46 | // and hexadecimal. 47 | // 48 | // Numbers in the reserved range 0x300000-0x3FFFFF are also accepted. 49 | func (c *Code) Set(text string) error { 50 | // Checking if the text is a valid number is cheap, so do it first. 51 | // It should be impossible for a string to be both a valid number and a 52 | // valid name, anyway. 53 | if n, err := strconv.ParseUint(text, 0, 64); err == nil { 54 | code := Code(n) 55 | if code >= 0x300000 && code <= 0x3FFFFF { // reserved range 56 | *c = code 57 | return nil 58 | } 59 | if _, ok := _Code_map[code]; ok { // known code 60 | *c = code 61 | return nil 62 | } 63 | } 64 | 65 | // For now, checking if the text is a valid name is a linear operation, 66 | // so do it after. 67 | // Right now we have ~450 codes, so a linear search isn't too bad. 68 | // Consider generating a map[string]Code later on if linear search 69 | // starts being a problem. 70 | for code, name := range _Code_map { 71 | if name == text { 72 | *c = code 73 | return nil 74 | } 75 | } 76 | return fmt.Errorf("unknown multicodec: %q", text) 77 | } 78 | 79 | // Note that KnownCodes is a function backed by a code-generated slice. 80 | // Later on, if the slice gets too large, we could codegen a packed form 81 | // and only expand to a regular slice via a sync.Once. 82 | // A function also makes it a bit clearer that the list should be read-only. 83 | 84 | // KnownCodes returns a list of all codes registered in the multicodec table. 85 | // The returned slice should be treated as read-only. 86 | func KnownCodes() []Code { 87 | return knownCodes 88 | } 89 | -------------------------------------------------------------------------------- /code_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Code -linecomment"; DO NOT EDIT. 2 | 3 | package multicodec 4 | 5 | import "strconv" 6 | 7 | func _() { 8 | // An "invalid array index" compiler error signifies that the constant values have changed. 9 | // Re-run the stringer command to generate them again. 10 | var x [1]struct{} 11 | _ = x[Identity-0] 12 | _ = x[Cidv1-1] 13 | _ = x[Cidv2-2] 14 | _ = x[Cidv3-3] 15 | _ = x[Ip4-4] 16 | _ = x[Tcp-6] 17 | _ = x[Sha1-17] 18 | _ = x[Sha2_256-18] 19 | _ = x[Sha2_512-19] 20 | _ = x[Sha3_512-20] 21 | _ = x[Sha3_384-21] 22 | _ = x[Sha3_256-22] 23 | _ = x[Sha3_224-23] 24 | _ = x[Shake128-24] 25 | _ = x[Shake256-25] 26 | _ = x[Keccak224-26] 27 | _ = x[Keccak256-27] 28 | _ = x[Keccak384-28] 29 | _ = x[Keccak512-29] 30 | _ = x[Blake3-30] 31 | _ = x[Sha2_384-32] 32 | _ = x[Dccp-33] 33 | _ = x[Murmur3X64_64-34] 34 | _ = x[Murmur3_32-35] 35 | _ = x[Ip6-41] 36 | _ = x[Ip6zone-42] 37 | _ = x[Ipcidr-43] 38 | _ = x[Path-47] 39 | _ = x[Multicodec-48] 40 | _ = x[Multihash-49] 41 | _ = x[Multiaddr-50] 42 | _ = x[Multibase-51] 43 | _ = x[Varsig-52] 44 | _ = x[Dns-53] 45 | _ = x[Dns4-54] 46 | _ = x[Dns6-55] 47 | _ = x[Dnsaddr-56] 48 | _ = x[Protobuf-80] 49 | _ = x[Cbor-81] 50 | _ = x[Raw-85] 51 | _ = x[DblSha2_256-86] 52 | _ = x[Rlp-96] 53 | _ = x[Bencode-99] 54 | _ = x[DagPb-112] 55 | _ = x[DagCbor-113] 56 | _ = x[Libp2pKey-114] 57 | _ = x[GitRaw-120] 58 | _ = x[TorrentInfo-123] 59 | _ = x[TorrentFile-124] 60 | _ = x[LeofcoinBlock-129] 61 | _ = x[LeofcoinTx-130] 62 | _ = x[LeofcoinPr-131] 63 | _ = x[Sctp-132] 64 | _ = x[DagJose-133] 65 | _ = x[DagCose-134] 66 | _ = x[Lbry-140] 67 | _ = x[EthBlock-144] 68 | _ = x[EthBlockList-145] 69 | _ = x[EthTxTrie-146] 70 | _ = x[EthTx-147] 71 | _ = x[EthTxReceiptTrie-148] 72 | _ = x[EthTxReceipt-149] 73 | _ = x[EthStateTrie-150] 74 | _ = x[EthAccountSnapshot-151] 75 | _ = x[EthStorageTrie-152] 76 | _ = x[EthReceiptLogTrie-153] 77 | _ = x[EthReceiptLog-154] 78 | _ = x[Aes128-160] 79 | _ = x[Aes192-161] 80 | _ = x[Aes256-162] 81 | _ = x[Chacha128-163] 82 | _ = x[Chacha256-164] 83 | _ = x[BitcoinBlock-176] 84 | _ = x[BitcoinTx-177] 85 | _ = x[BitcoinWitnessCommitment-178] 86 | _ = x[ZcashBlock-192] 87 | _ = x[ZcashTx-193] 88 | _ = x[Caip50-202] 89 | _ = x[Streamid-206] 90 | _ = x[StellarBlock-208] 91 | _ = x[StellarTx-209] 92 | _ = x[Md4-212] 93 | _ = x[Md5-213] 94 | _ = x[DecredBlock-224] 95 | _ = x[DecredTx-225] 96 | _ = x[Ipld-226] 97 | _ = x[Ipfs-227] 98 | _ = x[Swarm-228] 99 | _ = x[Ipns-229] 100 | _ = x[Zeronet-230] 101 | _ = x[Secp256k1Pub-231] 102 | _ = x[Dnslink-232] 103 | _ = x[Bls12_381G1Pub-234] 104 | _ = x[Bls12_381G2Pub-235] 105 | _ = x[X25519Pub-236] 106 | _ = x[Ed25519Pub-237] 107 | _ = x[Bls12_381G1g2Pub-238] 108 | _ = x[Sr25519Pub-239] 109 | _ = x[DashBlock-240] 110 | _ = x[DashTx-241] 111 | _ = x[SwarmManifest-250] 112 | _ = x[SwarmFeed-251] 113 | _ = x[Beeson-252] 114 | _ = x[Udp-273] 115 | _ = x[P2pWebrtcStar-275] 116 | _ = x[P2pWebrtcDirect-276] 117 | _ = x[P2pStardust-277] 118 | _ = x[WebrtcDirect-280] 119 | _ = x[Webrtc-281] 120 | _ = x[P2pCircuit-290] 121 | _ = x[DagJson-297] 122 | _ = x[Udt-301] 123 | _ = x[Utp-302] 124 | _ = x[Crc32-306] 125 | _ = x[Crc64Ecma-356] 126 | _ = x[Unix-400] 127 | _ = x[Thread-406] 128 | _ = x[P2p-421] 129 | _ = x[Https-443] 130 | _ = x[Onion-444] 131 | _ = x[Onion3-445] 132 | _ = x[Garlic64-446] 133 | _ = x[Garlic32-447] 134 | _ = x[Tls-448] 135 | _ = x[Sni-449] 136 | _ = x[Noise-454] 137 | _ = x[Shs-456] 138 | _ = x[Quic-460] 139 | _ = x[QuicV1-461] 140 | _ = x[Webtransport-465] 141 | _ = x[Certhash-466] 142 | _ = x[Ws-477] 143 | _ = x[Wss-478] 144 | _ = x[P2pWebsocketStar-479] 145 | _ = x[Http-480] 146 | _ = x[Swhid1Snp-496] 147 | _ = x[Json-512] 148 | _ = x[Messagepack-513] 149 | _ = x[Car-514] 150 | _ = x[IpnsRecord-768] 151 | _ = x[Libp2pPeerRecord-769] 152 | _ = x[Libp2pRelayRsvp-770] 153 | _ = x[Memorytransport-777] 154 | _ = x[CarIndexSorted-1024] 155 | _ = x[CarMultihashIndexSorted-1025] 156 | _ = x[TransportBitswap-2304] 157 | _ = x[TransportGraphsyncFilecoinv1-2320] 158 | _ = x[TransportIpfsGatewayHttp-2336] 159 | _ = x[Multidid-3357] 160 | _ = x[Sha2_256Trunc254Padded-4114] 161 | _ = x[Sha2_224-4115] 162 | _ = x[Sha2_512_224-4116] 163 | _ = x[Sha2_512_256-4117] 164 | _ = x[Murmur3X64_128-4130] 165 | _ = x[Ripemd128-4178] 166 | _ = x[Ripemd160-4179] 167 | _ = x[Ripemd256-4180] 168 | _ = x[Ripemd320-4181] 169 | _ = x[X11-4352] 170 | _ = x[P256Pub-4608] 171 | _ = x[P384Pub-4609] 172 | _ = x[P521Pub-4610] 173 | _ = x[Ed448Pub-4611] 174 | _ = x[X448Pub-4612] 175 | _ = x[RsaPub-4613] 176 | _ = x[Sm2Pub-4614] 177 | _ = x[Ed25519Priv-4864] 178 | _ = x[Secp256k1Priv-4865] 179 | _ = x[X25519Priv-4866] 180 | _ = x[Sr25519Priv-4867] 181 | _ = x[RsaPriv-4869] 182 | _ = x[P256Priv-4870] 183 | _ = x[P384Priv-4871] 184 | _ = x[P521Priv-4872] 185 | _ = x[Kangarootwelve-7425] 186 | _ = x[AesGcm256-8192] 187 | _ = x[Silverpine-16194] 188 | _ = x[Sm3_256-21325] 189 | _ = x[Sha256a-28690] 190 | _ = x[Blake2b8-45569] 191 | _ = x[Blake2b16-45570] 192 | _ = x[Blake2b24-45571] 193 | _ = x[Blake2b32-45572] 194 | _ = x[Blake2b40-45573] 195 | _ = x[Blake2b48-45574] 196 | _ = x[Blake2b56-45575] 197 | _ = x[Blake2b64-45576] 198 | _ = x[Blake2b72-45577] 199 | _ = x[Blake2b80-45578] 200 | _ = x[Blake2b88-45579] 201 | _ = x[Blake2b96-45580] 202 | _ = x[Blake2b104-45581] 203 | _ = x[Blake2b112-45582] 204 | _ = x[Blake2b120-45583] 205 | _ = x[Blake2b128-45584] 206 | _ = x[Blake2b136-45585] 207 | _ = x[Blake2b144-45586] 208 | _ = x[Blake2b152-45587] 209 | _ = x[Blake2b160-45588] 210 | _ = x[Blake2b168-45589] 211 | _ = x[Blake2b176-45590] 212 | _ = x[Blake2b184-45591] 213 | _ = x[Blake2b192-45592] 214 | _ = x[Blake2b200-45593] 215 | _ = x[Blake2b208-45594] 216 | _ = x[Blake2b216-45595] 217 | _ = x[Blake2b224-45596] 218 | _ = x[Blake2b232-45597] 219 | _ = x[Blake2b240-45598] 220 | _ = x[Blake2b248-45599] 221 | _ = x[Blake2b256-45600] 222 | _ = x[Blake2b264-45601] 223 | _ = x[Blake2b272-45602] 224 | _ = x[Blake2b280-45603] 225 | _ = x[Blake2b288-45604] 226 | _ = x[Blake2b296-45605] 227 | _ = x[Blake2b304-45606] 228 | _ = x[Blake2b312-45607] 229 | _ = x[Blake2b320-45608] 230 | _ = x[Blake2b328-45609] 231 | _ = x[Blake2b336-45610] 232 | _ = x[Blake2b344-45611] 233 | _ = x[Blake2b352-45612] 234 | _ = x[Blake2b360-45613] 235 | _ = x[Blake2b368-45614] 236 | _ = x[Blake2b376-45615] 237 | _ = x[Blake2b384-45616] 238 | _ = x[Blake2b392-45617] 239 | _ = x[Blake2b400-45618] 240 | _ = x[Blake2b408-45619] 241 | _ = x[Blake2b416-45620] 242 | _ = x[Blake2b424-45621] 243 | _ = x[Blake2b432-45622] 244 | _ = x[Blake2b440-45623] 245 | _ = x[Blake2b448-45624] 246 | _ = x[Blake2b456-45625] 247 | _ = x[Blake2b464-45626] 248 | _ = x[Blake2b472-45627] 249 | _ = x[Blake2b480-45628] 250 | _ = x[Blake2b488-45629] 251 | _ = x[Blake2b496-45630] 252 | _ = x[Blake2b504-45631] 253 | _ = x[Blake2b512-45632] 254 | _ = x[Blake2s8-45633] 255 | _ = x[Blake2s16-45634] 256 | _ = x[Blake2s24-45635] 257 | _ = x[Blake2s32-45636] 258 | _ = x[Blake2s40-45637] 259 | _ = x[Blake2s48-45638] 260 | _ = x[Blake2s56-45639] 261 | _ = x[Blake2s64-45640] 262 | _ = x[Blake2s72-45641] 263 | _ = x[Blake2s80-45642] 264 | _ = x[Blake2s88-45643] 265 | _ = x[Blake2s96-45644] 266 | _ = x[Blake2s104-45645] 267 | _ = x[Blake2s112-45646] 268 | _ = x[Blake2s120-45647] 269 | _ = x[Blake2s128-45648] 270 | _ = x[Blake2s136-45649] 271 | _ = x[Blake2s144-45650] 272 | _ = x[Blake2s152-45651] 273 | _ = x[Blake2s160-45652] 274 | _ = x[Blake2s168-45653] 275 | _ = x[Blake2s176-45654] 276 | _ = x[Blake2s184-45655] 277 | _ = x[Blake2s192-45656] 278 | _ = x[Blake2s200-45657] 279 | _ = x[Blake2s208-45658] 280 | _ = x[Blake2s216-45659] 281 | _ = x[Blake2s224-45660] 282 | _ = x[Blake2s232-45661] 283 | _ = x[Blake2s240-45662] 284 | _ = x[Blake2s248-45663] 285 | _ = x[Blake2s256-45664] 286 | _ = x[Skein256_8-45825] 287 | _ = x[Skein256_16-45826] 288 | _ = x[Skein256_24-45827] 289 | _ = x[Skein256_32-45828] 290 | _ = x[Skein256_40-45829] 291 | _ = x[Skein256_48-45830] 292 | _ = x[Skein256_56-45831] 293 | _ = x[Skein256_64-45832] 294 | _ = x[Skein256_72-45833] 295 | _ = x[Skein256_80-45834] 296 | _ = x[Skein256_88-45835] 297 | _ = x[Skein256_96-45836] 298 | _ = x[Skein256_104-45837] 299 | _ = x[Skein256_112-45838] 300 | _ = x[Skein256_120-45839] 301 | _ = x[Skein256_128-45840] 302 | _ = x[Skein256_136-45841] 303 | _ = x[Skein256_144-45842] 304 | _ = x[Skein256_152-45843] 305 | _ = x[Skein256_160-45844] 306 | _ = x[Skein256_168-45845] 307 | _ = x[Skein256_176-45846] 308 | _ = x[Skein256_184-45847] 309 | _ = x[Skein256_192-45848] 310 | _ = x[Skein256_200-45849] 311 | _ = x[Skein256_208-45850] 312 | _ = x[Skein256_216-45851] 313 | _ = x[Skein256_224-45852] 314 | _ = x[Skein256_232-45853] 315 | _ = x[Skein256_240-45854] 316 | _ = x[Skein256_248-45855] 317 | _ = x[Skein256_256-45856] 318 | _ = x[Skein512_8-45857] 319 | _ = x[Skein512_16-45858] 320 | _ = x[Skein512_24-45859] 321 | _ = x[Skein512_32-45860] 322 | _ = x[Skein512_40-45861] 323 | _ = x[Skein512_48-45862] 324 | _ = x[Skein512_56-45863] 325 | _ = x[Skein512_64-45864] 326 | _ = x[Skein512_72-45865] 327 | _ = x[Skein512_80-45866] 328 | _ = x[Skein512_88-45867] 329 | _ = x[Skein512_96-45868] 330 | _ = x[Skein512_104-45869] 331 | _ = x[Skein512_112-45870] 332 | _ = x[Skein512_120-45871] 333 | _ = x[Skein512_128-45872] 334 | _ = x[Skein512_136-45873] 335 | _ = x[Skein512_144-45874] 336 | _ = x[Skein512_152-45875] 337 | _ = x[Skein512_160-45876] 338 | _ = x[Skein512_168-45877] 339 | _ = x[Skein512_176-45878] 340 | _ = x[Skein512_184-45879] 341 | _ = x[Skein512_192-45880] 342 | _ = x[Skein512_200-45881] 343 | _ = x[Skein512_208-45882] 344 | _ = x[Skein512_216-45883] 345 | _ = x[Skein512_224-45884] 346 | _ = x[Skein512_232-45885] 347 | _ = x[Skein512_240-45886] 348 | _ = x[Skein512_248-45887] 349 | _ = x[Skein512_256-45888] 350 | _ = x[Skein512_264-45889] 351 | _ = x[Skein512_272-45890] 352 | _ = x[Skein512_280-45891] 353 | _ = x[Skein512_288-45892] 354 | _ = x[Skein512_296-45893] 355 | _ = x[Skein512_304-45894] 356 | _ = x[Skein512_312-45895] 357 | _ = x[Skein512_320-45896] 358 | _ = x[Skein512_328-45897] 359 | _ = x[Skein512_336-45898] 360 | _ = x[Skein512_344-45899] 361 | _ = x[Skein512_352-45900] 362 | _ = x[Skein512_360-45901] 363 | _ = x[Skein512_368-45902] 364 | _ = x[Skein512_376-45903] 365 | _ = x[Skein512_384-45904] 366 | _ = x[Skein512_392-45905] 367 | _ = x[Skein512_400-45906] 368 | _ = x[Skein512_408-45907] 369 | _ = x[Skein512_416-45908] 370 | _ = x[Skein512_424-45909] 371 | _ = x[Skein512_432-45910] 372 | _ = x[Skein512_440-45911] 373 | _ = x[Skein512_448-45912] 374 | _ = x[Skein512_456-45913] 375 | _ = x[Skein512_464-45914] 376 | _ = x[Skein512_472-45915] 377 | _ = x[Skein512_480-45916] 378 | _ = x[Skein512_488-45917] 379 | _ = x[Skein512_496-45918] 380 | _ = x[Skein512_504-45919] 381 | _ = x[Skein512_512-45920] 382 | _ = x[Skein1024_8-45921] 383 | _ = x[Skein1024_16-45922] 384 | _ = x[Skein1024_24-45923] 385 | _ = x[Skein1024_32-45924] 386 | _ = x[Skein1024_40-45925] 387 | _ = x[Skein1024_48-45926] 388 | _ = x[Skein1024_56-45927] 389 | _ = x[Skein1024_64-45928] 390 | _ = x[Skein1024_72-45929] 391 | _ = x[Skein1024_80-45930] 392 | _ = x[Skein1024_88-45931] 393 | _ = x[Skein1024_96-45932] 394 | _ = x[Skein1024_104-45933] 395 | _ = x[Skein1024_112-45934] 396 | _ = x[Skein1024_120-45935] 397 | _ = x[Skein1024_128-45936] 398 | _ = x[Skein1024_136-45937] 399 | _ = x[Skein1024_144-45938] 400 | _ = x[Skein1024_152-45939] 401 | _ = x[Skein1024_160-45940] 402 | _ = x[Skein1024_168-45941] 403 | _ = x[Skein1024_176-45942] 404 | _ = x[Skein1024_184-45943] 405 | _ = x[Skein1024_192-45944] 406 | _ = x[Skein1024_200-45945] 407 | _ = x[Skein1024_208-45946] 408 | _ = x[Skein1024_216-45947] 409 | _ = x[Skein1024_224-45948] 410 | _ = x[Skein1024_232-45949] 411 | _ = x[Skein1024_240-45950] 412 | _ = x[Skein1024_248-45951] 413 | _ = x[Skein1024_256-45952] 414 | _ = x[Skein1024_264-45953] 415 | _ = x[Skein1024_272-45954] 416 | _ = x[Skein1024_280-45955] 417 | _ = x[Skein1024_288-45956] 418 | _ = x[Skein1024_296-45957] 419 | _ = x[Skein1024_304-45958] 420 | _ = x[Skein1024_312-45959] 421 | _ = x[Skein1024_320-45960] 422 | _ = x[Skein1024_328-45961] 423 | _ = x[Skein1024_336-45962] 424 | _ = x[Skein1024_344-45963] 425 | _ = x[Skein1024_352-45964] 426 | _ = x[Skein1024_360-45965] 427 | _ = x[Skein1024_368-45966] 428 | _ = x[Skein1024_376-45967] 429 | _ = x[Skein1024_384-45968] 430 | _ = x[Skein1024_392-45969] 431 | _ = x[Skein1024_400-45970] 432 | _ = x[Skein1024_408-45971] 433 | _ = x[Skein1024_416-45972] 434 | _ = x[Skein1024_424-45973] 435 | _ = x[Skein1024_432-45974] 436 | _ = x[Skein1024_440-45975] 437 | _ = x[Skein1024_448-45976] 438 | _ = x[Skein1024_456-45977] 439 | _ = x[Skein1024_464-45978] 440 | _ = x[Skein1024_472-45979] 441 | _ = x[Skein1024_480-45980] 442 | _ = x[Skein1024_488-45981] 443 | _ = x[Skein1024_496-45982] 444 | _ = x[Skein1024_504-45983] 445 | _ = x[Skein1024_512-45984] 446 | _ = x[Skein1024_520-45985] 447 | _ = x[Skein1024_528-45986] 448 | _ = x[Skein1024_536-45987] 449 | _ = x[Skein1024_544-45988] 450 | _ = x[Skein1024_552-45989] 451 | _ = x[Skein1024_560-45990] 452 | _ = x[Skein1024_568-45991] 453 | _ = x[Skein1024_576-45992] 454 | _ = x[Skein1024_584-45993] 455 | _ = x[Skein1024_592-45994] 456 | _ = x[Skein1024_600-45995] 457 | _ = x[Skein1024_608-45996] 458 | _ = x[Skein1024_616-45997] 459 | _ = x[Skein1024_624-45998] 460 | _ = x[Skein1024_632-45999] 461 | _ = x[Skein1024_640-46000] 462 | _ = x[Skein1024_648-46001] 463 | _ = x[Skein1024_656-46002] 464 | _ = x[Skein1024_664-46003] 465 | _ = x[Skein1024_672-46004] 466 | _ = x[Skein1024_680-46005] 467 | _ = x[Skein1024_688-46006] 468 | _ = x[Skein1024_696-46007] 469 | _ = x[Skein1024_704-46008] 470 | _ = x[Skein1024_712-46009] 471 | _ = x[Skein1024_720-46010] 472 | _ = x[Skein1024_728-46011] 473 | _ = x[Skein1024_736-46012] 474 | _ = x[Skein1024_744-46013] 475 | _ = x[Skein1024_752-46014] 476 | _ = x[Skein1024_760-46015] 477 | _ = x[Skein1024_768-46016] 478 | _ = x[Skein1024_776-46017] 479 | _ = x[Skein1024_784-46018] 480 | _ = x[Skein1024_792-46019] 481 | _ = x[Skein1024_800-46020] 482 | _ = x[Skein1024_808-46021] 483 | _ = x[Skein1024_816-46022] 484 | _ = x[Skein1024_824-46023] 485 | _ = x[Skein1024_832-46024] 486 | _ = x[Skein1024_840-46025] 487 | _ = x[Skein1024_848-46026] 488 | _ = x[Skein1024_856-46027] 489 | _ = x[Skein1024_864-46028] 490 | _ = x[Skein1024_872-46029] 491 | _ = x[Skein1024_880-46030] 492 | _ = x[Skein1024_888-46031] 493 | _ = x[Skein1024_896-46032] 494 | _ = x[Skein1024_904-46033] 495 | _ = x[Skein1024_912-46034] 496 | _ = x[Skein1024_920-46035] 497 | _ = x[Skein1024_928-46036] 498 | _ = x[Skein1024_936-46037] 499 | _ = x[Skein1024_944-46038] 500 | _ = x[Skein1024_952-46039] 501 | _ = x[Skein1024_960-46040] 502 | _ = x[Skein1024_968-46041] 503 | _ = x[Skein1024_976-46042] 504 | _ = x[Skein1024_984-46043] 505 | _ = x[Skein1024_992-46044] 506 | _ = x[Skein1024_1000-46045] 507 | _ = x[Skein1024_1008-46046] 508 | _ = x[Skein1024_1016-46047] 509 | _ = x[Skein1024_1024-46048] 510 | _ = x[Xxh32-46049] 511 | _ = x[Xxh64-46050] 512 | _ = x[Xxh3_64-46051] 513 | _ = x[Xxh3_128-46052] 514 | _ = x[PoseidonBls12_381A2Fc1-46081] 515 | _ = x[PoseidonBls12_381A2Fc1Sc-46082] 516 | _ = x[Urdca2015Canon-46083] 517 | _ = x[Ssz-46337] 518 | _ = x[SszSha2_256Bmt-46338] 519 | _ = x[JsonJcs-46593] 520 | _ = x[Iscc-52225] 521 | _ = x[ZeroxcertImprint256-52753] 522 | _ = x[NonstandardSig-53248] 523 | _ = x[Es256k-53479] 524 | _ = x[Bls12381G1Sig-53482] 525 | _ = x[Bls12381G2Sig-53483] 526 | _ = x[Eddsa-53485] 527 | _ = x[Eip191-53649] 528 | _ = x[Jwk_jcsPub-60241] 529 | _ = x[FilCommitmentUnsealed-61697] 530 | _ = x[FilCommitmentSealed-61698] 531 | _ = x[Plaintextv2-7367777] 532 | _ = x[HolochainAdrV0-8417572] 533 | _ = x[HolochainAdrV1-8483108] 534 | _ = x[HolochainKeyV0-9728292] 535 | _ = x[HolochainKeyV1-9793828] 536 | _ = x[HolochainSigV0-10645796] 537 | _ = x[HolochainSigV1-10711332] 538 | _ = x[SkynetNs-11639056] 539 | _ = x[ArweaveNs-11704592] 540 | _ = x[SubspaceNs-11770128] 541 | _ = x[KumandraNs-11835664] 542 | _ = x[Es256-13636096] 543 | _ = x[Es284-13636097] 544 | _ = x[Es512-13636098] 545 | _ = x[Rs256-13636101] 546 | _ = x[Scion-13639680] 547 | } 548 | 549 | const _Code_name = "identitycidv1cidv2cidv3ip4tcpsha1sha2-256sha2-512sha3-512sha3-384sha3-256sha3-224shake-128shake-256keccak-224keccak-256keccak-384keccak-512blake3sha2-384dccpmurmur3-x64-64murmur3-32ip6ip6zoneipcidrpathmulticodecmultihashmultiaddrmultibasevarsigdnsdns4dns6dnsaddrprotobufcborrawdbl-sha2-256rlpbencodedag-pbdag-cborlibp2p-keygit-rawtorrent-infotorrent-fileleofcoin-blockleofcoin-txleofcoin-prsctpdag-josedag-coselbryeth-blocketh-block-listeth-tx-trieeth-txeth-tx-receipt-trieeth-tx-receipteth-state-trieeth-account-snapshoteth-storage-trieeth-receipt-log-trieeth-receipt-logaes-128aes-192aes-256chacha-128chacha-256bitcoin-blockbitcoin-txbitcoin-witness-commitmentzcash-blockzcash-txcaip-50streamidstellar-blockstellar-txmd4md5decred-blockdecred-txipldipfsswarmipnszeronetsecp256k1-pubdnslinkbls12_381-g1-pubbls12_381-g2-pubx25519-pubed25519-pubbls12_381-g1g2-pubsr25519-pubdash-blockdash-txswarm-manifestswarm-feedbeesonudpp2p-webrtc-starp2p-webrtc-directp2p-stardustwebrtc-directwebrtcp2p-circuitdag-jsonudtutpcrc32crc64-ecmaunixthreadp2phttpsoniononion3garlic64garlic32tlssninoiseshsquicquic-v1webtransportcerthashwswssp2p-websocket-starhttpswhid-1-snpjsonmessagepackcaripns-recordlibp2p-peer-recordlibp2p-relay-rsvpmemorytransportcar-index-sortedcar-multihash-index-sortedtransport-bitswaptransport-graphsync-filecoinv1transport-ipfs-gateway-httpmultididsha2-256-trunc254-paddedsha2-224sha2-512-224sha2-512-256murmur3-x64-128ripemd-128ripemd-160ripemd-256ripemd-320x11p256-pubp384-pubp521-pubed448-pubx448-pubrsa-pubsm2-pubed25519-privsecp256k1-privx25519-privsr25519-privrsa-privp256-privp384-privp521-privkangarootwelveaes-gcm-256silverpinesm3-256sha256ablake2b-8blake2b-16blake2b-24blake2b-32blake2b-40blake2b-48blake2b-56blake2b-64blake2b-72blake2b-80blake2b-88blake2b-96blake2b-104blake2b-112blake2b-120blake2b-128blake2b-136blake2b-144blake2b-152blake2b-160blake2b-168blake2b-176blake2b-184blake2b-192blake2b-200blake2b-208blake2b-216blake2b-224blake2b-232blake2b-240blake2b-248blake2b-256blake2b-264blake2b-272blake2b-280blake2b-288blake2b-296blake2b-304blake2b-312blake2b-320blake2b-328blake2b-336blake2b-344blake2b-352blake2b-360blake2b-368blake2b-376blake2b-384blake2b-392blake2b-400blake2b-408blake2b-416blake2b-424blake2b-432blake2b-440blake2b-448blake2b-456blake2b-464blake2b-472blake2b-480blake2b-488blake2b-496blake2b-504blake2b-512blake2s-8blake2s-16blake2s-24blake2s-32blake2s-40blake2s-48blake2s-56blake2s-64blake2s-72blake2s-80blake2s-88blake2s-96blake2s-104blake2s-112blake2s-120blake2s-128blake2s-136blake2s-144blake2s-152blake2s-160blake2s-168blake2s-176blake2s-184blake2s-192blake2s-200blake2s-208blake2s-216blake2s-224blake2s-232blake2s-240blake2s-248blake2s-256skein256-8skein256-16skein256-24skein256-32skein256-40skein256-48skein256-56skein256-64skein256-72skein256-80skein256-88skein256-96skein256-104skein256-112skein256-120skein256-128skein256-136skein256-144skein256-152skein256-160skein256-168skein256-176skein256-184skein256-192skein256-200skein256-208skein256-216skein256-224skein256-232skein256-240skein256-248skein256-256skein512-8skein512-16skein512-24skein512-32skein512-40skein512-48skein512-56skein512-64skein512-72skein512-80skein512-88skein512-96skein512-104skein512-112skein512-120skein512-128skein512-136skein512-144skein512-152skein512-160skein512-168skein512-176skein512-184skein512-192skein512-200skein512-208skein512-216skein512-224skein512-232skein512-240skein512-248skein512-256skein512-264skein512-272skein512-280skein512-288skein512-296skein512-304skein512-312skein512-320skein512-328skein512-336skein512-344skein512-352skein512-360skein512-368skein512-376skein512-384skein512-392skein512-400skein512-408skein512-416skein512-424skein512-432skein512-440skein512-448skein512-456skein512-464skein512-472skein512-480skein512-488skein512-496skein512-504skein512-512skein1024-8skein1024-16skein1024-24skein1024-32skein1024-40skein1024-48skein1024-56skein1024-64skein1024-72skein1024-80skein1024-88skein1024-96skein1024-104skein1024-112skein1024-120skein1024-128skein1024-136skein1024-144skein1024-152skein1024-160skein1024-168skein1024-176skein1024-184skein1024-192skein1024-200skein1024-208skein1024-216skein1024-224skein1024-232skein1024-240skein1024-248skein1024-256skein1024-264skein1024-272skein1024-280skein1024-288skein1024-296skein1024-304skein1024-312skein1024-320skein1024-328skein1024-336skein1024-344skein1024-352skein1024-360skein1024-368skein1024-376skein1024-384skein1024-392skein1024-400skein1024-408skein1024-416skein1024-424skein1024-432skein1024-440skein1024-448skein1024-456skein1024-464skein1024-472skein1024-480skein1024-488skein1024-496skein1024-504skein1024-512skein1024-520skein1024-528skein1024-536skein1024-544skein1024-552skein1024-560skein1024-568skein1024-576skein1024-584skein1024-592skein1024-600skein1024-608skein1024-616skein1024-624skein1024-632skein1024-640skein1024-648skein1024-656skein1024-664skein1024-672skein1024-680skein1024-688skein1024-696skein1024-704skein1024-712skein1024-720skein1024-728skein1024-736skein1024-744skein1024-752skein1024-760skein1024-768skein1024-776skein1024-784skein1024-792skein1024-800skein1024-808skein1024-816skein1024-824skein1024-832skein1024-840skein1024-848skein1024-856skein1024-864skein1024-872skein1024-880skein1024-888skein1024-896skein1024-904skein1024-912skein1024-920skein1024-928skein1024-936skein1024-944skein1024-952skein1024-960skein1024-968skein1024-976skein1024-984skein1024-992skein1024-1000skein1024-1008skein1024-1016skein1024-1024xxh-32xxh-64xxh3-64xxh3-128poseidon-bls12_381-a2-fc1poseidon-bls12_381-a2-fc1-scurdca-2015-canonsszssz-sha2-256-bmtjson-jcsiscczeroxcert-imprint-256nonstandard-siges256kbls-12381-g1-sigbls-12381-g2-sigeddsaeip-191jwk_jcs-pubfil-commitment-unsealedfil-commitment-sealedplaintextv2holochain-adr-v0holochain-adr-v1holochain-key-v0holochain-key-v1holochain-sig-v0holochain-sig-v1skynet-nsarweave-nssubspace-nskumandra-nses256es284es512rs256scion" 550 | 551 | var _Code_map = map[Code]string{ 552 | 0: _Code_name[0:8], 553 | 1: _Code_name[8:13], 554 | 2: _Code_name[13:18], 555 | 3: _Code_name[18:23], 556 | 4: _Code_name[23:26], 557 | 6: _Code_name[26:29], 558 | 17: _Code_name[29:33], 559 | 18: _Code_name[33:41], 560 | 19: _Code_name[41:49], 561 | 20: _Code_name[49:57], 562 | 21: _Code_name[57:65], 563 | 22: _Code_name[65:73], 564 | 23: _Code_name[73:81], 565 | 24: _Code_name[81:90], 566 | 25: _Code_name[90:99], 567 | 26: _Code_name[99:109], 568 | 27: _Code_name[109:119], 569 | 28: _Code_name[119:129], 570 | 29: _Code_name[129:139], 571 | 30: _Code_name[139:145], 572 | 32: _Code_name[145:153], 573 | 33: _Code_name[153:157], 574 | 34: _Code_name[157:171], 575 | 35: _Code_name[171:181], 576 | 41: _Code_name[181:184], 577 | 42: _Code_name[184:191], 578 | 43: _Code_name[191:197], 579 | 47: _Code_name[197:201], 580 | 48: _Code_name[201:211], 581 | 49: _Code_name[211:220], 582 | 50: _Code_name[220:229], 583 | 51: _Code_name[229:238], 584 | 52: _Code_name[238:244], 585 | 53: _Code_name[244:247], 586 | 54: _Code_name[247:251], 587 | 55: _Code_name[251:255], 588 | 56: _Code_name[255:262], 589 | 80: _Code_name[262:270], 590 | 81: _Code_name[270:274], 591 | 85: _Code_name[274:277], 592 | 86: _Code_name[277:289], 593 | 96: _Code_name[289:292], 594 | 99: _Code_name[292:299], 595 | 112: _Code_name[299:305], 596 | 113: _Code_name[305:313], 597 | 114: _Code_name[313:323], 598 | 120: _Code_name[323:330], 599 | 123: _Code_name[330:342], 600 | 124: _Code_name[342:354], 601 | 129: _Code_name[354:368], 602 | 130: _Code_name[368:379], 603 | 131: _Code_name[379:390], 604 | 132: _Code_name[390:394], 605 | 133: _Code_name[394:402], 606 | 134: _Code_name[402:410], 607 | 140: _Code_name[410:414], 608 | 144: _Code_name[414:423], 609 | 145: _Code_name[423:437], 610 | 146: _Code_name[437:448], 611 | 147: _Code_name[448:454], 612 | 148: _Code_name[454:473], 613 | 149: _Code_name[473:487], 614 | 150: _Code_name[487:501], 615 | 151: _Code_name[501:521], 616 | 152: _Code_name[521:537], 617 | 153: _Code_name[537:557], 618 | 154: _Code_name[557:572], 619 | 160: _Code_name[572:579], 620 | 161: _Code_name[579:586], 621 | 162: _Code_name[586:593], 622 | 163: _Code_name[593:603], 623 | 164: _Code_name[603:613], 624 | 176: _Code_name[613:626], 625 | 177: _Code_name[626:636], 626 | 178: _Code_name[636:662], 627 | 192: _Code_name[662:673], 628 | 193: _Code_name[673:681], 629 | 202: _Code_name[681:688], 630 | 206: _Code_name[688:696], 631 | 208: _Code_name[696:709], 632 | 209: _Code_name[709:719], 633 | 212: _Code_name[719:722], 634 | 213: _Code_name[722:725], 635 | 224: _Code_name[725:737], 636 | 225: _Code_name[737:746], 637 | 226: _Code_name[746:750], 638 | 227: _Code_name[750:754], 639 | 228: _Code_name[754:759], 640 | 229: _Code_name[759:763], 641 | 230: _Code_name[763:770], 642 | 231: _Code_name[770:783], 643 | 232: _Code_name[783:790], 644 | 234: _Code_name[790:806], 645 | 235: _Code_name[806:822], 646 | 236: _Code_name[822:832], 647 | 237: _Code_name[832:843], 648 | 238: _Code_name[843:861], 649 | 239: _Code_name[861:872], 650 | 240: _Code_name[872:882], 651 | 241: _Code_name[882:889], 652 | 250: _Code_name[889:903], 653 | 251: _Code_name[903:913], 654 | 252: _Code_name[913:919], 655 | 273: _Code_name[919:922], 656 | 275: _Code_name[922:937], 657 | 276: _Code_name[937:954], 658 | 277: _Code_name[954:966], 659 | 280: _Code_name[966:979], 660 | 281: _Code_name[979:985], 661 | 290: _Code_name[985:996], 662 | 297: _Code_name[996:1004], 663 | 301: _Code_name[1004:1007], 664 | 302: _Code_name[1007:1010], 665 | 306: _Code_name[1010:1015], 666 | 356: _Code_name[1015:1025], 667 | 400: _Code_name[1025:1029], 668 | 406: _Code_name[1029:1035], 669 | 421: _Code_name[1035:1038], 670 | 443: _Code_name[1038:1043], 671 | 444: _Code_name[1043:1048], 672 | 445: _Code_name[1048:1054], 673 | 446: _Code_name[1054:1062], 674 | 447: _Code_name[1062:1070], 675 | 448: _Code_name[1070:1073], 676 | 449: _Code_name[1073:1076], 677 | 454: _Code_name[1076:1081], 678 | 456: _Code_name[1081:1084], 679 | 460: _Code_name[1084:1088], 680 | 461: _Code_name[1088:1095], 681 | 465: _Code_name[1095:1107], 682 | 466: _Code_name[1107:1115], 683 | 477: _Code_name[1115:1117], 684 | 478: _Code_name[1117:1120], 685 | 479: _Code_name[1120:1138], 686 | 480: _Code_name[1138:1142], 687 | 496: _Code_name[1142:1153], 688 | 512: _Code_name[1153:1157], 689 | 513: _Code_name[1157:1168], 690 | 514: _Code_name[1168:1171], 691 | 768: _Code_name[1171:1182], 692 | 769: _Code_name[1182:1200], 693 | 770: _Code_name[1200:1217], 694 | 777: _Code_name[1217:1232], 695 | 1024: _Code_name[1232:1248], 696 | 1025: _Code_name[1248:1274], 697 | 2304: _Code_name[1274:1291], 698 | 2320: _Code_name[1291:1321], 699 | 2336: _Code_name[1321:1348], 700 | 3357: _Code_name[1348:1356], 701 | 4114: _Code_name[1356:1380], 702 | 4115: _Code_name[1380:1388], 703 | 4116: _Code_name[1388:1400], 704 | 4117: _Code_name[1400:1412], 705 | 4130: _Code_name[1412:1427], 706 | 4178: _Code_name[1427:1437], 707 | 4179: _Code_name[1437:1447], 708 | 4180: _Code_name[1447:1457], 709 | 4181: _Code_name[1457:1467], 710 | 4352: _Code_name[1467:1470], 711 | 4608: _Code_name[1470:1478], 712 | 4609: _Code_name[1478:1486], 713 | 4610: _Code_name[1486:1494], 714 | 4611: _Code_name[1494:1503], 715 | 4612: _Code_name[1503:1511], 716 | 4613: _Code_name[1511:1518], 717 | 4614: _Code_name[1518:1525], 718 | 4864: _Code_name[1525:1537], 719 | 4865: _Code_name[1537:1551], 720 | 4866: _Code_name[1551:1562], 721 | 4867: _Code_name[1562:1574], 722 | 4869: _Code_name[1574:1582], 723 | 4870: _Code_name[1582:1591], 724 | 4871: _Code_name[1591:1600], 725 | 4872: _Code_name[1600:1609], 726 | 7425: _Code_name[1609:1623], 727 | 8192: _Code_name[1623:1634], 728 | 16194: _Code_name[1634:1644], 729 | 21325: _Code_name[1644:1651], 730 | 28690: _Code_name[1651:1658], 731 | 45569: _Code_name[1658:1667], 732 | 45570: _Code_name[1667:1677], 733 | 45571: _Code_name[1677:1687], 734 | 45572: _Code_name[1687:1697], 735 | 45573: _Code_name[1697:1707], 736 | 45574: _Code_name[1707:1717], 737 | 45575: _Code_name[1717:1727], 738 | 45576: _Code_name[1727:1737], 739 | 45577: _Code_name[1737:1747], 740 | 45578: _Code_name[1747:1757], 741 | 45579: _Code_name[1757:1767], 742 | 45580: _Code_name[1767:1777], 743 | 45581: _Code_name[1777:1788], 744 | 45582: _Code_name[1788:1799], 745 | 45583: _Code_name[1799:1810], 746 | 45584: _Code_name[1810:1821], 747 | 45585: _Code_name[1821:1832], 748 | 45586: _Code_name[1832:1843], 749 | 45587: _Code_name[1843:1854], 750 | 45588: _Code_name[1854:1865], 751 | 45589: _Code_name[1865:1876], 752 | 45590: _Code_name[1876:1887], 753 | 45591: _Code_name[1887:1898], 754 | 45592: _Code_name[1898:1909], 755 | 45593: _Code_name[1909:1920], 756 | 45594: _Code_name[1920:1931], 757 | 45595: _Code_name[1931:1942], 758 | 45596: _Code_name[1942:1953], 759 | 45597: _Code_name[1953:1964], 760 | 45598: _Code_name[1964:1975], 761 | 45599: _Code_name[1975:1986], 762 | 45600: _Code_name[1986:1997], 763 | 45601: _Code_name[1997:2008], 764 | 45602: _Code_name[2008:2019], 765 | 45603: _Code_name[2019:2030], 766 | 45604: _Code_name[2030:2041], 767 | 45605: _Code_name[2041:2052], 768 | 45606: _Code_name[2052:2063], 769 | 45607: _Code_name[2063:2074], 770 | 45608: _Code_name[2074:2085], 771 | 45609: _Code_name[2085:2096], 772 | 45610: _Code_name[2096:2107], 773 | 45611: _Code_name[2107:2118], 774 | 45612: _Code_name[2118:2129], 775 | 45613: _Code_name[2129:2140], 776 | 45614: _Code_name[2140:2151], 777 | 45615: _Code_name[2151:2162], 778 | 45616: _Code_name[2162:2173], 779 | 45617: _Code_name[2173:2184], 780 | 45618: _Code_name[2184:2195], 781 | 45619: _Code_name[2195:2206], 782 | 45620: _Code_name[2206:2217], 783 | 45621: _Code_name[2217:2228], 784 | 45622: _Code_name[2228:2239], 785 | 45623: _Code_name[2239:2250], 786 | 45624: _Code_name[2250:2261], 787 | 45625: _Code_name[2261:2272], 788 | 45626: _Code_name[2272:2283], 789 | 45627: _Code_name[2283:2294], 790 | 45628: _Code_name[2294:2305], 791 | 45629: _Code_name[2305:2316], 792 | 45630: _Code_name[2316:2327], 793 | 45631: _Code_name[2327:2338], 794 | 45632: _Code_name[2338:2349], 795 | 45633: _Code_name[2349:2358], 796 | 45634: _Code_name[2358:2368], 797 | 45635: _Code_name[2368:2378], 798 | 45636: _Code_name[2378:2388], 799 | 45637: _Code_name[2388:2398], 800 | 45638: _Code_name[2398:2408], 801 | 45639: _Code_name[2408:2418], 802 | 45640: _Code_name[2418:2428], 803 | 45641: _Code_name[2428:2438], 804 | 45642: _Code_name[2438:2448], 805 | 45643: _Code_name[2448:2458], 806 | 45644: _Code_name[2458:2468], 807 | 45645: _Code_name[2468:2479], 808 | 45646: _Code_name[2479:2490], 809 | 45647: _Code_name[2490:2501], 810 | 45648: _Code_name[2501:2512], 811 | 45649: _Code_name[2512:2523], 812 | 45650: _Code_name[2523:2534], 813 | 45651: _Code_name[2534:2545], 814 | 45652: _Code_name[2545:2556], 815 | 45653: _Code_name[2556:2567], 816 | 45654: _Code_name[2567:2578], 817 | 45655: _Code_name[2578:2589], 818 | 45656: _Code_name[2589:2600], 819 | 45657: _Code_name[2600:2611], 820 | 45658: _Code_name[2611:2622], 821 | 45659: _Code_name[2622:2633], 822 | 45660: _Code_name[2633:2644], 823 | 45661: _Code_name[2644:2655], 824 | 45662: _Code_name[2655:2666], 825 | 45663: _Code_name[2666:2677], 826 | 45664: _Code_name[2677:2688], 827 | 45825: _Code_name[2688:2698], 828 | 45826: _Code_name[2698:2709], 829 | 45827: _Code_name[2709:2720], 830 | 45828: _Code_name[2720:2731], 831 | 45829: _Code_name[2731:2742], 832 | 45830: _Code_name[2742:2753], 833 | 45831: _Code_name[2753:2764], 834 | 45832: _Code_name[2764:2775], 835 | 45833: _Code_name[2775:2786], 836 | 45834: _Code_name[2786:2797], 837 | 45835: _Code_name[2797:2808], 838 | 45836: _Code_name[2808:2819], 839 | 45837: _Code_name[2819:2831], 840 | 45838: _Code_name[2831:2843], 841 | 45839: _Code_name[2843:2855], 842 | 45840: _Code_name[2855:2867], 843 | 45841: _Code_name[2867:2879], 844 | 45842: _Code_name[2879:2891], 845 | 45843: _Code_name[2891:2903], 846 | 45844: _Code_name[2903:2915], 847 | 45845: _Code_name[2915:2927], 848 | 45846: _Code_name[2927:2939], 849 | 45847: _Code_name[2939:2951], 850 | 45848: _Code_name[2951:2963], 851 | 45849: _Code_name[2963:2975], 852 | 45850: _Code_name[2975:2987], 853 | 45851: _Code_name[2987:2999], 854 | 45852: _Code_name[2999:3011], 855 | 45853: _Code_name[3011:3023], 856 | 45854: _Code_name[3023:3035], 857 | 45855: _Code_name[3035:3047], 858 | 45856: _Code_name[3047:3059], 859 | 45857: _Code_name[3059:3069], 860 | 45858: _Code_name[3069:3080], 861 | 45859: _Code_name[3080:3091], 862 | 45860: _Code_name[3091:3102], 863 | 45861: _Code_name[3102:3113], 864 | 45862: _Code_name[3113:3124], 865 | 45863: _Code_name[3124:3135], 866 | 45864: _Code_name[3135:3146], 867 | 45865: _Code_name[3146:3157], 868 | 45866: _Code_name[3157:3168], 869 | 45867: _Code_name[3168:3179], 870 | 45868: _Code_name[3179:3190], 871 | 45869: _Code_name[3190:3202], 872 | 45870: _Code_name[3202:3214], 873 | 45871: _Code_name[3214:3226], 874 | 45872: _Code_name[3226:3238], 875 | 45873: _Code_name[3238:3250], 876 | 45874: _Code_name[3250:3262], 877 | 45875: _Code_name[3262:3274], 878 | 45876: _Code_name[3274:3286], 879 | 45877: _Code_name[3286:3298], 880 | 45878: _Code_name[3298:3310], 881 | 45879: _Code_name[3310:3322], 882 | 45880: _Code_name[3322:3334], 883 | 45881: _Code_name[3334:3346], 884 | 45882: _Code_name[3346:3358], 885 | 45883: _Code_name[3358:3370], 886 | 45884: _Code_name[3370:3382], 887 | 45885: _Code_name[3382:3394], 888 | 45886: _Code_name[3394:3406], 889 | 45887: _Code_name[3406:3418], 890 | 45888: _Code_name[3418:3430], 891 | 45889: _Code_name[3430:3442], 892 | 45890: _Code_name[3442:3454], 893 | 45891: _Code_name[3454:3466], 894 | 45892: _Code_name[3466:3478], 895 | 45893: _Code_name[3478:3490], 896 | 45894: _Code_name[3490:3502], 897 | 45895: _Code_name[3502:3514], 898 | 45896: _Code_name[3514:3526], 899 | 45897: _Code_name[3526:3538], 900 | 45898: _Code_name[3538:3550], 901 | 45899: _Code_name[3550:3562], 902 | 45900: _Code_name[3562:3574], 903 | 45901: _Code_name[3574:3586], 904 | 45902: _Code_name[3586:3598], 905 | 45903: _Code_name[3598:3610], 906 | 45904: _Code_name[3610:3622], 907 | 45905: _Code_name[3622:3634], 908 | 45906: _Code_name[3634:3646], 909 | 45907: _Code_name[3646:3658], 910 | 45908: _Code_name[3658:3670], 911 | 45909: _Code_name[3670:3682], 912 | 45910: _Code_name[3682:3694], 913 | 45911: _Code_name[3694:3706], 914 | 45912: _Code_name[3706:3718], 915 | 45913: _Code_name[3718:3730], 916 | 45914: _Code_name[3730:3742], 917 | 45915: _Code_name[3742:3754], 918 | 45916: _Code_name[3754:3766], 919 | 45917: _Code_name[3766:3778], 920 | 45918: _Code_name[3778:3790], 921 | 45919: _Code_name[3790:3802], 922 | 45920: _Code_name[3802:3814], 923 | 45921: _Code_name[3814:3825], 924 | 45922: _Code_name[3825:3837], 925 | 45923: _Code_name[3837:3849], 926 | 45924: _Code_name[3849:3861], 927 | 45925: _Code_name[3861:3873], 928 | 45926: _Code_name[3873:3885], 929 | 45927: _Code_name[3885:3897], 930 | 45928: _Code_name[3897:3909], 931 | 45929: _Code_name[3909:3921], 932 | 45930: _Code_name[3921:3933], 933 | 45931: _Code_name[3933:3945], 934 | 45932: _Code_name[3945:3957], 935 | 45933: _Code_name[3957:3970], 936 | 45934: _Code_name[3970:3983], 937 | 45935: _Code_name[3983:3996], 938 | 45936: _Code_name[3996:4009], 939 | 45937: _Code_name[4009:4022], 940 | 45938: _Code_name[4022:4035], 941 | 45939: _Code_name[4035:4048], 942 | 45940: _Code_name[4048:4061], 943 | 45941: _Code_name[4061:4074], 944 | 45942: _Code_name[4074:4087], 945 | 45943: _Code_name[4087:4100], 946 | 45944: _Code_name[4100:4113], 947 | 45945: _Code_name[4113:4126], 948 | 45946: _Code_name[4126:4139], 949 | 45947: _Code_name[4139:4152], 950 | 45948: _Code_name[4152:4165], 951 | 45949: _Code_name[4165:4178], 952 | 45950: _Code_name[4178:4191], 953 | 45951: _Code_name[4191:4204], 954 | 45952: _Code_name[4204:4217], 955 | 45953: _Code_name[4217:4230], 956 | 45954: _Code_name[4230:4243], 957 | 45955: _Code_name[4243:4256], 958 | 45956: _Code_name[4256:4269], 959 | 45957: _Code_name[4269:4282], 960 | 45958: _Code_name[4282:4295], 961 | 45959: _Code_name[4295:4308], 962 | 45960: _Code_name[4308:4321], 963 | 45961: _Code_name[4321:4334], 964 | 45962: _Code_name[4334:4347], 965 | 45963: _Code_name[4347:4360], 966 | 45964: _Code_name[4360:4373], 967 | 45965: _Code_name[4373:4386], 968 | 45966: _Code_name[4386:4399], 969 | 45967: _Code_name[4399:4412], 970 | 45968: _Code_name[4412:4425], 971 | 45969: _Code_name[4425:4438], 972 | 45970: _Code_name[4438:4451], 973 | 45971: _Code_name[4451:4464], 974 | 45972: _Code_name[4464:4477], 975 | 45973: _Code_name[4477:4490], 976 | 45974: _Code_name[4490:4503], 977 | 45975: _Code_name[4503:4516], 978 | 45976: _Code_name[4516:4529], 979 | 45977: _Code_name[4529:4542], 980 | 45978: _Code_name[4542:4555], 981 | 45979: _Code_name[4555:4568], 982 | 45980: _Code_name[4568:4581], 983 | 45981: _Code_name[4581:4594], 984 | 45982: _Code_name[4594:4607], 985 | 45983: _Code_name[4607:4620], 986 | 45984: _Code_name[4620:4633], 987 | 45985: _Code_name[4633:4646], 988 | 45986: _Code_name[4646:4659], 989 | 45987: _Code_name[4659:4672], 990 | 45988: _Code_name[4672:4685], 991 | 45989: _Code_name[4685:4698], 992 | 45990: _Code_name[4698:4711], 993 | 45991: _Code_name[4711:4724], 994 | 45992: _Code_name[4724:4737], 995 | 45993: _Code_name[4737:4750], 996 | 45994: _Code_name[4750:4763], 997 | 45995: _Code_name[4763:4776], 998 | 45996: _Code_name[4776:4789], 999 | 45997: _Code_name[4789:4802], 1000 | 45998: _Code_name[4802:4815], 1001 | 45999: _Code_name[4815:4828], 1002 | 46000: _Code_name[4828:4841], 1003 | 46001: _Code_name[4841:4854], 1004 | 46002: _Code_name[4854:4867], 1005 | 46003: _Code_name[4867:4880], 1006 | 46004: _Code_name[4880:4893], 1007 | 46005: _Code_name[4893:4906], 1008 | 46006: _Code_name[4906:4919], 1009 | 46007: _Code_name[4919:4932], 1010 | 46008: _Code_name[4932:4945], 1011 | 46009: _Code_name[4945:4958], 1012 | 46010: _Code_name[4958:4971], 1013 | 46011: _Code_name[4971:4984], 1014 | 46012: _Code_name[4984:4997], 1015 | 46013: _Code_name[4997:5010], 1016 | 46014: _Code_name[5010:5023], 1017 | 46015: _Code_name[5023:5036], 1018 | 46016: _Code_name[5036:5049], 1019 | 46017: _Code_name[5049:5062], 1020 | 46018: _Code_name[5062:5075], 1021 | 46019: _Code_name[5075:5088], 1022 | 46020: _Code_name[5088:5101], 1023 | 46021: _Code_name[5101:5114], 1024 | 46022: _Code_name[5114:5127], 1025 | 46023: _Code_name[5127:5140], 1026 | 46024: _Code_name[5140:5153], 1027 | 46025: _Code_name[5153:5166], 1028 | 46026: _Code_name[5166:5179], 1029 | 46027: _Code_name[5179:5192], 1030 | 46028: _Code_name[5192:5205], 1031 | 46029: _Code_name[5205:5218], 1032 | 46030: _Code_name[5218:5231], 1033 | 46031: _Code_name[5231:5244], 1034 | 46032: _Code_name[5244:5257], 1035 | 46033: _Code_name[5257:5270], 1036 | 46034: _Code_name[5270:5283], 1037 | 46035: _Code_name[5283:5296], 1038 | 46036: _Code_name[5296:5309], 1039 | 46037: _Code_name[5309:5322], 1040 | 46038: _Code_name[5322:5335], 1041 | 46039: _Code_name[5335:5348], 1042 | 46040: _Code_name[5348:5361], 1043 | 46041: _Code_name[5361:5374], 1044 | 46042: _Code_name[5374:5387], 1045 | 46043: _Code_name[5387:5400], 1046 | 46044: _Code_name[5400:5413], 1047 | 46045: _Code_name[5413:5427], 1048 | 46046: _Code_name[5427:5441], 1049 | 46047: _Code_name[5441:5455], 1050 | 46048: _Code_name[5455:5469], 1051 | 46049: _Code_name[5469:5475], 1052 | 46050: _Code_name[5475:5481], 1053 | 46051: _Code_name[5481:5488], 1054 | 46052: _Code_name[5488:5496], 1055 | 46081: _Code_name[5496:5521], 1056 | 46082: _Code_name[5521:5549], 1057 | 46083: _Code_name[5549:5565], 1058 | 46337: _Code_name[5565:5568], 1059 | 46338: _Code_name[5568:5584], 1060 | 46593: _Code_name[5584:5592], 1061 | 52225: _Code_name[5592:5596], 1062 | 52753: _Code_name[5596:5617], 1063 | 53248: _Code_name[5617:5632], 1064 | 53479: _Code_name[5632:5638], 1065 | 53482: _Code_name[5638:5654], 1066 | 53483: _Code_name[5654:5670], 1067 | 53485: _Code_name[5670:5675], 1068 | 53649: _Code_name[5675:5682], 1069 | 60241: _Code_name[5682:5693], 1070 | 61697: _Code_name[5693:5716], 1071 | 61698: _Code_name[5716:5737], 1072 | 7367777: _Code_name[5737:5748], 1073 | 8417572: _Code_name[5748:5764], 1074 | 8483108: _Code_name[5764:5780], 1075 | 9728292: _Code_name[5780:5796], 1076 | 9793828: _Code_name[5796:5812], 1077 | 10645796: _Code_name[5812:5828], 1078 | 10711332: _Code_name[5828:5844], 1079 | 11639056: _Code_name[5844:5853], 1080 | 11704592: _Code_name[5853:5863], 1081 | 11770128: _Code_name[5863:5874], 1082 | 11835664: _Code_name[5874:5885], 1083 | 13636096: _Code_name[5885:5890], 1084 | 13636097: _Code_name[5890:5895], 1085 | 13636098: _Code_name[5895:5900], 1086 | 13636101: _Code_name[5900:5905], 1087 | 13639680: _Code_name[5905:5910], 1088 | } 1089 | 1090 | func (i Code) String() string { 1091 | if str, ok := _Code_map[i]; ok { 1092 | return str 1093 | } 1094 | return "Code(" + strconv.FormatInt(int64(i), 10) + ")" 1095 | } 1096 | -------------------------------------------------------------------------------- /code_table.go: -------------------------------------------------------------------------------- 1 | // Code generated by gen.go; DO NOT EDIT. 2 | 3 | package multicodec 4 | 5 | const ( 6 | // Identity is a permanent code tagged "multihash" and described by: raw binary. 7 | Identity Code = 0x00 // identity 8 | 9 | // Cidv1 is a permanent code tagged "cid" and described by: CIDv1. 10 | Cidv1 Code = 0x01 // cidv1 11 | 12 | // Cidv2 is a draft code tagged "cid" and described by: CIDv2. 13 | Cidv2 Code = 0x02 // cidv2 14 | 15 | // Cidv3 is a draft code tagged "cid" and described by: CIDv3. 16 | Cidv3 Code = 0x03 // cidv3 17 | 18 | // Ip4 is a permanent code tagged "multiaddr". 19 | Ip4 Code = 0x04 // ip4 20 | 21 | // Tcp is a permanent code tagged "multiaddr". 22 | Tcp Code = 0x06 // tcp 23 | 24 | // Sha1 is a permanent code tagged "multihash". 25 | Sha1 Code = 0x11 // sha1 26 | 27 | // Sha2_256 is a permanent code tagged "multihash". 28 | Sha2_256 Code = 0x12 // sha2-256 29 | 30 | // Sha2_512 is a permanent code tagged "multihash". 31 | Sha2_512 Code = 0x13 // sha2-512 32 | 33 | // Sha3_512 is a permanent code tagged "multihash". 34 | Sha3_512 Code = 0x14 // sha3-512 35 | 36 | // Sha3_384 is a permanent code tagged "multihash". 37 | Sha3_384 Code = 0x15 // sha3-384 38 | 39 | // Sha3_256 is a permanent code tagged "multihash". 40 | Sha3_256 Code = 0x16 // sha3-256 41 | 42 | // Sha3_224 is a permanent code tagged "multihash". 43 | Sha3_224 Code = 0x17 // sha3-224 44 | 45 | // Shake128 is a draft code tagged "multihash". 46 | Shake128 Code = 0x18 // shake-128 47 | 48 | // Shake256 is a draft code tagged "multihash". 49 | Shake256 Code = 0x19 // shake-256 50 | 51 | // Keccak224 is a draft code tagged "multihash" and described by: keccak has variable output length. The number specifies the core length. 52 | Keccak224 Code = 0x1a // keccak-224 53 | 54 | // Keccak256 is a draft code tagged "multihash". 55 | Keccak256 Code = 0x1b // keccak-256 56 | 57 | // Keccak384 is a draft code tagged "multihash". 58 | Keccak384 Code = 0x1c // keccak-384 59 | 60 | // Keccak512 is a draft code tagged "multihash". 61 | Keccak512 Code = 0x1d // keccak-512 62 | 63 | // Blake3 is a draft code tagged "multihash" and described by: BLAKE3 has a default 32 byte output length. The maximum length is (2^64)-1 bytes.. 64 | Blake3 Code = 0x1e // blake3 65 | 66 | // Sha2_384 is a permanent code tagged "multihash" and described by: aka SHA-384; as specified by FIPS 180-4.. 67 | Sha2_384 Code = 0x20 // sha2-384 68 | 69 | // Dccp is a draft code tagged "multiaddr". 70 | Dccp Code = 0x21 // dccp 71 | 72 | // Murmur3X64_64 is a permanent code tagged "hash" and described by: The first 64-bits of a murmur3-x64-128 - used for UnixFS directory sharding.. 73 | Murmur3X64_64 Code = 0x22 // murmur3-x64-64 74 | 75 | // Murmur3_32 is a draft code tagged "hash". 76 | Murmur3_32 Code = 0x23 // murmur3-32 77 | 78 | // Ip6 is a permanent code tagged "multiaddr". 79 | Ip6 Code = 0x29 // ip6 80 | 81 | // Ip6zone is a draft code tagged "multiaddr". 82 | Ip6zone Code = 0x2a // ip6zone 83 | 84 | // Ipcidr is a draft code tagged "multiaddr" and described by: CIDR mask for IP addresses. 85 | Ipcidr Code = 0x2b // ipcidr 86 | 87 | // Path is a permanent code tagged "namespace" and described by: Namespace for string paths. Corresponds to `/` in ASCII.. 88 | Path Code = 0x2f // path 89 | 90 | // Multicodec is a draft code tagged "multiformat". 91 | Multicodec Code = 0x30 // multicodec 92 | 93 | // Multihash is a draft code tagged "multiformat". 94 | Multihash Code = 0x31 // multihash 95 | 96 | // Multiaddr is a draft code tagged "multiformat". 97 | Multiaddr Code = 0x32 // multiaddr 98 | 99 | // Multibase is a draft code tagged "multiformat". 100 | Multibase Code = 0x33 // multibase 101 | 102 | // Varsig is a draft code tagged "multiformat" and described by: Variable signature (varsig) multiformat. 103 | Varsig Code = 0x34 // varsig 104 | 105 | // Dns is a permanent code tagged "multiaddr". 106 | Dns Code = 0x35 // dns 107 | 108 | // Dns4 is a permanent code tagged "multiaddr". 109 | Dns4 Code = 0x36 // dns4 110 | 111 | // Dns6 is a permanent code tagged "multiaddr". 112 | Dns6 Code = 0x37 // dns6 113 | 114 | // Dnsaddr is a permanent code tagged "multiaddr". 115 | Dnsaddr Code = 0x38 // dnsaddr 116 | 117 | // Protobuf is a draft code tagged "serialization" and described by: Protocol Buffers. 118 | Protobuf Code = 0x50 // protobuf 119 | 120 | // Cbor is a permanent code tagged "ipld" and described by: CBOR. 121 | Cbor Code = 0x51 // cbor 122 | 123 | // Raw is a permanent code tagged "ipld" and described by: raw binary. 124 | Raw Code = 0x55 // raw 125 | 126 | // DblSha2_256 is a draft code tagged "multihash". 127 | DblSha2_256 Code = 0x56 // dbl-sha2-256 128 | 129 | // Rlp is a draft code tagged "serialization" and described by: recursive length prefix. 130 | Rlp Code = 0x60 // rlp 131 | 132 | // Bencode is a draft code tagged "serialization" and described by: bencode. 133 | Bencode Code = 0x63 // bencode 134 | 135 | // DagPb is a permanent code tagged "ipld" and described by: MerkleDAG protobuf. 136 | DagPb Code = 0x70 // dag-pb 137 | 138 | // DagCbor is a permanent code tagged "ipld" and described by: MerkleDAG cbor. 139 | DagCbor Code = 0x71 // dag-cbor 140 | 141 | // Libp2pKey is a permanent code tagged "ipld" and described by: Libp2p Public Key. 142 | Libp2pKey Code = 0x72 // libp2p-key 143 | 144 | // GitRaw is a permanent code tagged "ipld" and described by: Raw Git object. 145 | GitRaw Code = 0x78 // git-raw 146 | 147 | // TorrentInfo is a draft code tagged "ipld" and described by: Torrent file info field (bencoded). 148 | TorrentInfo Code = 0x7b // torrent-info 149 | 150 | // TorrentFile is a draft code tagged "ipld" and described by: Torrent file (bencoded). 151 | TorrentFile Code = 0x7c // torrent-file 152 | 153 | // LeofcoinBlock is a draft code tagged "ipld" and described by: Leofcoin Block. 154 | LeofcoinBlock Code = 0x81 // leofcoin-block 155 | 156 | // LeofcoinTx is a draft code tagged "ipld" and described by: Leofcoin Transaction. 157 | LeofcoinTx Code = 0x82 // leofcoin-tx 158 | 159 | // LeofcoinPr is a draft code tagged "ipld" and described by: Leofcoin Peer Reputation. 160 | LeofcoinPr Code = 0x83 // leofcoin-pr 161 | 162 | // Sctp is a draft code tagged "multiaddr". 163 | Sctp Code = 0x84 // sctp 164 | 165 | // DagJose is a draft code tagged "ipld" and described by: MerkleDAG JOSE. 166 | DagJose Code = 0x85 // dag-jose 167 | 168 | // DagCose is a draft code tagged "ipld" and described by: MerkleDAG COSE. 169 | DagCose Code = 0x86 // dag-cose 170 | 171 | // Lbry is a draft code tagged "namespace" and described by: LBRY Address. 172 | Lbry Code = 0x8c // lbry 173 | 174 | // EthBlock is a permanent code tagged "ipld" and described by: Ethereum Header (RLP). 175 | EthBlock Code = 0x90 // eth-block 176 | 177 | // EthBlockList is a permanent code tagged "ipld" and described by: Ethereum Header List (RLP). 178 | EthBlockList Code = 0x91 // eth-block-list 179 | 180 | // EthTxTrie is a permanent code tagged "ipld" and described by: Ethereum Transaction Trie (Eth-Trie). 181 | EthTxTrie Code = 0x92 // eth-tx-trie 182 | 183 | // EthTx is a permanent code tagged "ipld" and described by: Ethereum Transaction (MarshalBinary). 184 | EthTx Code = 0x93 // eth-tx 185 | 186 | // EthTxReceiptTrie is a permanent code tagged "ipld" and described by: Ethereum Transaction Receipt Trie (Eth-Trie). 187 | EthTxReceiptTrie Code = 0x94 // eth-tx-receipt-trie 188 | 189 | // EthTxReceipt is a permanent code tagged "ipld" and described by: Ethereum Transaction Receipt (MarshalBinary). 190 | EthTxReceipt Code = 0x95 // eth-tx-receipt 191 | 192 | // EthStateTrie is a permanent code tagged "ipld" and described by: Ethereum State Trie (Eth-Secure-Trie). 193 | EthStateTrie Code = 0x96 // eth-state-trie 194 | 195 | // EthAccountSnapshot is a permanent code tagged "ipld" and described by: Ethereum Account Snapshot (RLP). 196 | EthAccountSnapshot Code = 0x97 // eth-account-snapshot 197 | 198 | // EthStorageTrie is a permanent code tagged "ipld" and described by: Ethereum Contract Storage Trie (Eth-Secure-Trie). 199 | EthStorageTrie Code = 0x98 // eth-storage-trie 200 | 201 | // EthReceiptLogTrie is a draft code tagged "ipld" and described by: Ethereum Transaction Receipt Log Trie (Eth-Trie). 202 | EthReceiptLogTrie Code = 0x99 // eth-receipt-log-trie 203 | 204 | // EthReceiptLog is a draft code tagged "ipld" and described by: Ethereum Transaction Receipt Log (RLP). 205 | EthReceiptLog Code = 0x9a // eth-receipt-log 206 | 207 | // Aes128 is a draft code tagged "key" and described by: 128-bit AES symmetric key. 208 | Aes128 Code = 0xa0 // aes-128 209 | 210 | // Aes192 is a draft code tagged "key" and described by: 192-bit AES symmetric key. 211 | Aes192 Code = 0xa1 // aes-192 212 | 213 | // Aes256 is a draft code tagged "key" and described by: 256-bit AES symmetric key. 214 | Aes256 Code = 0xa2 // aes-256 215 | 216 | // Chacha128 is a draft code tagged "key" and described by: 128-bit ChaCha symmetric key. 217 | Chacha128 Code = 0xa3 // chacha-128 218 | 219 | // Chacha256 is a draft code tagged "key" and described by: 256-bit ChaCha symmetric key. 220 | Chacha256 Code = 0xa4 // chacha-256 221 | 222 | // BitcoinBlock is a permanent code tagged "ipld" and described by: Bitcoin Block. 223 | BitcoinBlock Code = 0xb0 // bitcoin-block 224 | 225 | // BitcoinTx is a permanent code tagged "ipld" and described by: Bitcoin Tx. 226 | BitcoinTx Code = 0xb1 // bitcoin-tx 227 | 228 | // BitcoinWitnessCommitment is a permanent code tagged "ipld" and described by: Bitcoin Witness Commitment. 229 | BitcoinWitnessCommitment Code = 0xb2 // bitcoin-witness-commitment 230 | 231 | // ZcashBlock is a permanent code tagged "ipld" and described by: Zcash Block. 232 | ZcashBlock Code = 0xc0 // zcash-block 233 | 234 | // ZcashTx is a permanent code tagged "ipld" and described by: Zcash Tx. 235 | ZcashTx Code = 0xc1 // zcash-tx 236 | 237 | // Caip50 is a draft code tagged "multiformat" and described by: CAIP-50 multi-chain account id. 238 | Caip50 Code = 0xca // caip-50 239 | 240 | // Streamid is a draft code tagged "namespace" and described by: Ceramic Stream Id. 241 | Streamid Code = 0xce // streamid 242 | 243 | // StellarBlock is a draft code tagged "ipld" and described by: Stellar Block. 244 | StellarBlock Code = 0xd0 // stellar-block 245 | 246 | // StellarTx is a draft code tagged "ipld" and described by: Stellar Tx. 247 | StellarTx Code = 0xd1 // stellar-tx 248 | 249 | // Md4 is a draft code tagged "multihash". 250 | Md4 Code = 0xd4 // md4 251 | 252 | // Md5 is a draft code tagged "multihash". 253 | Md5 Code = 0xd5 // md5 254 | 255 | // DecredBlock is a draft code tagged "ipld" and described by: Decred Block. 256 | DecredBlock Code = 0xe0 // decred-block 257 | 258 | // DecredTx is a draft code tagged "ipld" and described by: Decred Tx. 259 | DecredTx Code = 0xe1 // decred-tx 260 | 261 | // Ipld is a draft code tagged "namespace" and described by: IPLD path. 262 | Ipld Code = 0xe2 // ipld 263 | 264 | // Ipfs is a draft code tagged "namespace" and described by: IPFS path. 265 | Ipfs Code = 0xe3 // ipfs 266 | 267 | // Swarm is a draft code tagged "namespace" and described by: Swarm path. 268 | Swarm Code = 0xe4 // swarm 269 | 270 | // Ipns is a draft code tagged "namespace" and described by: IPNS path. 271 | Ipns Code = 0xe5 // ipns 272 | 273 | // Zeronet is a draft code tagged "namespace" and described by: ZeroNet site address. 274 | Zeronet Code = 0xe6 // zeronet 275 | 276 | // Secp256k1Pub is a draft code tagged "key" and described by: Secp256k1 public key (compressed). 277 | Secp256k1Pub Code = 0xe7 // secp256k1-pub 278 | 279 | // Dnslink is a permanent code tagged "namespace" and described by: DNSLink path. 280 | Dnslink Code = 0xe8 // dnslink 281 | 282 | // Bls12_381G1Pub is a draft code tagged "key" and described by: BLS12-381 public key in the G1 field. 283 | Bls12_381G1Pub Code = 0xea // bls12_381-g1-pub 284 | 285 | // Bls12_381G2Pub is a draft code tagged "key" and described by: BLS12-381 public key in the G2 field. 286 | Bls12_381G2Pub Code = 0xeb // bls12_381-g2-pub 287 | 288 | // X25519Pub is a draft code tagged "key" and described by: Curve25519 public key. 289 | X25519Pub Code = 0xec // x25519-pub 290 | 291 | // Ed25519Pub is a draft code tagged "key" and described by: Ed25519 public key. 292 | Ed25519Pub Code = 0xed // ed25519-pub 293 | 294 | // Bls12_381G1g2Pub is a draft code tagged "key" and described by: BLS12-381 concatenated public keys in both the G1 and G2 fields. 295 | Bls12_381G1g2Pub Code = 0xee // bls12_381-g1g2-pub 296 | 297 | // Sr25519Pub is a draft code tagged "key" and described by: Sr25519 public key. 298 | Sr25519Pub Code = 0xef // sr25519-pub 299 | 300 | // DashBlock is a draft code tagged "ipld" and described by: Dash Block. 301 | DashBlock Code = 0xf0 // dash-block 302 | 303 | // DashTx is a draft code tagged "ipld" and described by: Dash Tx. 304 | DashTx Code = 0xf1 // dash-tx 305 | 306 | // SwarmManifest is a draft code tagged "ipld" and described by: Swarm Manifest. 307 | SwarmManifest Code = 0xfa // swarm-manifest 308 | 309 | // SwarmFeed is a draft code tagged "ipld" and described by: Swarm Feed. 310 | SwarmFeed Code = 0xfb // swarm-feed 311 | 312 | // Beeson is a draft code tagged "ipld" and described by: Swarm BeeSon. 313 | Beeson Code = 0xfc // beeson 314 | 315 | // Udp is a draft code tagged "multiaddr". 316 | Udp Code = 0x0111 // udp 317 | 318 | // P2pWebrtcStar is a deprecated code tagged "multiaddr" and described by: Use webrtc or webrtc-direct instead. 319 | P2pWebrtcStar Code = 0x0113 // p2p-webrtc-star 320 | 321 | // P2pWebrtcDirect is a deprecated code tagged "multiaddr" and described by: Use webrtc or webrtc-direct instead. 322 | P2pWebrtcDirect Code = 0x0114 // p2p-webrtc-direct 323 | 324 | // P2pStardust is a deprecated code tagged "multiaddr". 325 | P2pStardust Code = 0x0115 // p2p-stardust 326 | 327 | // WebrtcDirect is a draft code tagged "multiaddr" and described by: ICE-lite webrtc transport with SDP munging during connection establishment and without use of a STUN server. 328 | WebrtcDirect Code = 0x0118 // webrtc-direct 329 | 330 | // Webrtc is a draft code tagged "multiaddr" and described by: webrtc transport where connection establishment is according to w3c spec. 331 | Webrtc Code = 0x0119 // webrtc 332 | 333 | // P2pCircuit is a permanent code tagged "multiaddr". 334 | P2pCircuit Code = 0x0122 // p2p-circuit 335 | 336 | // DagJson is a permanent code tagged "ipld" and described by: MerkleDAG json. 337 | DagJson Code = 0x0129 // dag-json 338 | 339 | // Udt is a draft code tagged "multiaddr". 340 | Udt Code = 0x012d // udt 341 | 342 | // Utp is a draft code tagged "multiaddr". 343 | Utp Code = 0x012e // utp 344 | 345 | // Crc32 is a draft code tagged "hash" and described by: CRC-32 non-cryptographic hash algorithm (IEEE 802.3). 346 | Crc32 Code = 0x0132 // crc32 347 | 348 | // Crc64Ecma is a draft code tagged "hash" and described by: CRC-64 non-cryptographic hash algorithm (ECMA-182 - Annex B). 349 | Crc64Ecma Code = 0x0164 // crc64-ecma 350 | 351 | // Unix is a permanent code tagged "multiaddr". 352 | Unix Code = 0x0190 // unix 353 | 354 | // Thread is a draft code tagged "multiaddr" and described by: Textile Thread. 355 | Thread Code = 0x0196 // thread 356 | 357 | // P2p is a permanent code tagged "multiaddr" and described by: libp2p. 358 | P2p Code = 0x01a5 // p2p 359 | 360 | // Https is a draft code tagged "multiaddr". 361 | Https Code = 0x01bb // https 362 | 363 | // Onion is a draft code tagged "multiaddr". 364 | Onion Code = 0x01bc // onion 365 | 366 | // Onion3 is a draft code tagged "multiaddr". 367 | Onion3 Code = 0x01bd // onion3 368 | 369 | // Garlic64 is a draft code tagged "multiaddr" and described by: I2P base64 (raw public key). 370 | Garlic64 Code = 0x01be // garlic64 371 | 372 | // Garlic32 is a draft code tagged "multiaddr" and described by: I2P base32 (hashed public key or encoded public key/checksum+optional secret). 373 | Garlic32 Code = 0x01bf // garlic32 374 | 375 | // Tls is a draft code tagged "multiaddr". 376 | Tls Code = 0x01c0 // tls 377 | 378 | // Sni is a draft code tagged "multiaddr" and described by: Server Name Indication RFC 6066 § 3. 379 | Sni Code = 0x01c1 // sni 380 | 381 | // Noise is a draft code tagged "multiaddr". 382 | Noise Code = 0x01c6 // noise 383 | 384 | // Shs is a draft code tagged "multiaddr" and described by: Secure Scuttlebutt - Secret Handshake Stream. 385 | Shs Code = 0x01c8 // shs 386 | 387 | // Quic is a permanent code tagged "multiaddr". 388 | Quic Code = 0x01cc // quic 389 | 390 | // QuicV1 is a permanent code tagged "multiaddr". 391 | QuicV1 Code = 0x01cd // quic-v1 392 | 393 | // Webtransport is a draft code tagged "multiaddr". 394 | Webtransport Code = 0x01d1 // webtransport 395 | 396 | // Certhash is a draft code tagged "multiaddr" and described by: TLS certificate's fingerprint as a multihash. 397 | Certhash Code = 0x01d2 // certhash 398 | 399 | // Ws is a permanent code tagged "multiaddr". 400 | Ws Code = 0x01dd // ws 401 | 402 | // Wss is a permanent code tagged "multiaddr". 403 | Wss Code = 0x01de // wss 404 | 405 | // P2pWebsocketStar is a permanent code tagged "multiaddr". 406 | P2pWebsocketStar Code = 0x01df // p2p-websocket-star 407 | 408 | // Http is a draft code tagged "multiaddr". 409 | Http Code = 0x01e0 // http 410 | 411 | // Swhid1Snp is a draft code tagged "ipld" and described by: SoftWare Heritage persistent IDentifier version 1 snapshot. 412 | Swhid1Snp Code = 0x01f0 // swhid-1-snp 413 | 414 | // Json is a permanent code tagged "ipld" and described by: JSON (UTF-8-encoded). 415 | Json Code = 0x0200 // json 416 | 417 | // Messagepack is a draft code tagged "serialization" and described by: MessagePack. 418 | Messagepack Code = 0x0201 // messagepack 419 | 420 | // Car is a draft code tagged "serialization" and described by: Content Addressable aRchive (CAR). 421 | Car Code = 0x0202 // car 422 | 423 | // IpnsRecord is a permanent code tagged "serialization" and described by: Signed IPNS Record. 424 | IpnsRecord Code = 0x0300 // ipns-record 425 | 426 | // Libp2pPeerRecord is a permanent code tagged "libp2p" and described by: libp2p peer record type. 427 | Libp2pPeerRecord Code = 0x0301 // libp2p-peer-record 428 | 429 | // Libp2pRelayRsvp is a permanent code tagged "libp2p" and described by: libp2p relay reservation voucher. 430 | Libp2pRelayRsvp Code = 0x0302 // libp2p-relay-rsvp 431 | 432 | // Memorytransport is a permanent code tagged "libp2p" and described by: in memory transport for self-dialing and testing; arbitrary. 433 | Memorytransport Code = 0x0309 // memorytransport 434 | 435 | // CarIndexSorted is a draft code tagged "serialization" and described by: CARv2 IndexSorted index format. 436 | CarIndexSorted Code = 0x0400 // car-index-sorted 437 | 438 | // CarMultihashIndexSorted is a draft code tagged "serialization" and described by: CARv2 MultihashIndexSorted index format. 439 | CarMultihashIndexSorted Code = 0x0401 // car-multihash-index-sorted 440 | 441 | // TransportBitswap is a draft code tagged "transport" and described by: Bitswap datatransfer. 442 | TransportBitswap Code = 0x0900 // transport-bitswap 443 | 444 | // TransportGraphsyncFilecoinv1 is a draft code tagged "transport" and described by: Filecoin graphsync datatransfer. 445 | TransportGraphsyncFilecoinv1 Code = 0x0910 // transport-graphsync-filecoinv1 446 | 447 | // TransportIpfsGatewayHttp is a draft code tagged "transport" and described by: HTTP IPFS Gateway trustless datatransfer. 448 | TransportIpfsGatewayHttp Code = 0x0920 // transport-ipfs-gateway-http 449 | 450 | // Multidid is a draft code tagged "multiformat" and described by: Compact encoding for Decentralized Identifers. 451 | Multidid Code = 0x0d1d // multidid 452 | 453 | // Sha2_256Trunc254Padded is a permanent code tagged "multihash" and described by: SHA2-256 with the two most significant bits from the last byte zeroed (as via a mask with 0b00111111) - used for proving trees as in Filecoin. 454 | Sha2_256Trunc254Padded Code = 0x1012 // sha2-256-trunc254-padded 455 | 456 | // Sha2_224 is a permanent code tagged "multihash" and described by: aka SHA-224; as specified by FIPS 180-4.. 457 | Sha2_224 Code = 0x1013 // sha2-224 458 | 459 | // Sha2_512_224 is a permanent code tagged "multihash" and described by: aka SHA-512/224; as specified by FIPS 180-4.. 460 | Sha2_512_224 Code = 0x1014 // sha2-512-224 461 | 462 | // Sha2_512_256 is a permanent code tagged "multihash" and described by: aka SHA-512/256; as specified by FIPS 180-4.. 463 | Sha2_512_256 Code = 0x1015 // sha2-512-256 464 | 465 | // Murmur3X64_128 is a draft code tagged "hash". 466 | Murmur3X64_128 Code = 0x1022 // murmur3-x64-128 467 | 468 | // Ripemd128 is a draft code tagged "multihash". 469 | Ripemd128 Code = 0x1052 // ripemd-128 470 | 471 | // Ripemd160 is a draft code tagged "multihash". 472 | Ripemd160 Code = 0x1053 // ripemd-160 473 | 474 | // Ripemd256 is a draft code tagged "multihash". 475 | Ripemd256 Code = 0x1054 // ripemd-256 476 | 477 | // Ripemd320 is a draft code tagged "multihash". 478 | Ripemd320 Code = 0x1055 // ripemd-320 479 | 480 | // X11 is a draft code tagged "multihash". 481 | X11 Code = 0x1100 // x11 482 | 483 | // P256Pub is a draft code tagged "key" and described by: P-256 public Key (compressed). 484 | P256Pub Code = 0x1200 // p256-pub 485 | 486 | // P384Pub is a draft code tagged "key" and described by: P-384 public Key (compressed). 487 | P384Pub Code = 0x1201 // p384-pub 488 | 489 | // P521Pub is a draft code tagged "key" and described by: P-521 public Key (compressed). 490 | P521Pub Code = 0x1202 // p521-pub 491 | 492 | // Ed448Pub is a draft code tagged "key" and described by: Ed448 public Key. 493 | Ed448Pub Code = 0x1203 // ed448-pub 494 | 495 | // X448Pub is a draft code tagged "key" and described by: X448 public Key. 496 | X448Pub Code = 0x1204 // x448-pub 497 | 498 | // RsaPub is a draft code tagged "key" and described by: RSA public key. DER-encoded ASN.1 type RSAPublicKey according to IETF RFC 8017 (PKCS #1). 499 | RsaPub Code = 0x1205 // rsa-pub 500 | 501 | // Sm2Pub is a draft code tagged "key" and described by: SM2 public key (compressed). 502 | Sm2Pub Code = 0x1206 // sm2-pub 503 | 504 | // Ed25519Priv is a draft code tagged "key" and described by: Ed25519 private key. 505 | Ed25519Priv Code = 0x1300 // ed25519-priv 506 | 507 | // Secp256k1Priv is a draft code tagged "key" and described by: Secp256k1 private key. 508 | Secp256k1Priv Code = 0x1301 // secp256k1-priv 509 | 510 | // X25519Priv is a draft code tagged "key" and described by: Curve25519 private key. 511 | X25519Priv Code = 0x1302 // x25519-priv 512 | 513 | // Sr25519Priv is a draft code tagged "key" and described by: Sr25519 private key. 514 | Sr25519Priv Code = 0x1303 // sr25519-priv 515 | 516 | // RsaPriv is a draft code tagged "key" and described by: RSA private key. 517 | RsaPriv Code = 0x1305 // rsa-priv 518 | 519 | // P256Priv is a draft code tagged "key" and described by: P-256 private key. 520 | P256Priv Code = 0x1306 // p256-priv 521 | 522 | // P384Priv is a draft code tagged "key" and described by: P-384 private key. 523 | P384Priv Code = 0x1307 // p384-priv 524 | 525 | // P521Priv is a draft code tagged "key" and described by: P-521 private key. 526 | P521Priv Code = 0x1308 // p521-priv 527 | 528 | // Kangarootwelve is a draft code tagged "multihash" and described by: KangarooTwelve is an extendable-output hash function based on Keccak-p. 529 | Kangarootwelve Code = 0x1d01 // kangarootwelve 530 | 531 | // AesGcm256 is a draft code tagged "encryption" and described by: AES Galois/Counter Mode with 256-bit key and 12-byte IV. 532 | AesGcm256 Code = 0x2000 // aes-gcm-256 533 | 534 | // Silverpine is a draft code tagged "multiaddr" and described by: Experimental QUIC over yggdrasil and ironwood routing protocol. 535 | Silverpine Code = 0x3f42 // silverpine 536 | 537 | // Sm3_256 is a draft code tagged "multihash". 538 | Sm3_256 Code = 0x534d // sm3-256 539 | 540 | // Sha256a is a draft code tagged "hash" and described by: The sum of multiple sha2-256 hashes; as specified by Ceramic CIP-124.. 541 | Sha256a Code = 0x7012 // sha256a 542 | 543 | // Blake2b8 is a draft code tagged "multihash" and described by: Blake2b consists of 64 output lengths that give different hashes. 544 | Blake2b8 Code = 0xb201 // blake2b-8 545 | 546 | // Blake2b16 is a draft code tagged "multihash". 547 | Blake2b16 Code = 0xb202 // blake2b-16 548 | 549 | // Blake2b24 is a draft code tagged "multihash". 550 | Blake2b24 Code = 0xb203 // blake2b-24 551 | 552 | // Blake2b32 is a draft code tagged "multihash". 553 | Blake2b32 Code = 0xb204 // blake2b-32 554 | 555 | // Blake2b40 is a draft code tagged "multihash". 556 | Blake2b40 Code = 0xb205 // blake2b-40 557 | 558 | // Blake2b48 is a draft code tagged "multihash". 559 | Blake2b48 Code = 0xb206 // blake2b-48 560 | 561 | // Blake2b56 is a draft code tagged "multihash". 562 | Blake2b56 Code = 0xb207 // blake2b-56 563 | 564 | // Blake2b64 is a draft code tagged "multihash". 565 | Blake2b64 Code = 0xb208 // blake2b-64 566 | 567 | // Blake2b72 is a draft code tagged "multihash". 568 | Blake2b72 Code = 0xb209 // blake2b-72 569 | 570 | // Blake2b80 is a draft code tagged "multihash". 571 | Blake2b80 Code = 0xb20a // blake2b-80 572 | 573 | // Blake2b88 is a draft code tagged "multihash". 574 | Blake2b88 Code = 0xb20b // blake2b-88 575 | 576 | // Blake2b96 is a draft code tagged "multihash". 577 | Blake2b96 Code = 0xb20c // blake2b-96 578 | 579 | // Blake2b104 is a draft code tagged "multihash". 580 | Blake2b104 Code = 0xb20d // blake2b-104 581 | 582 | // Blake2b112 is a draft code tagged "multihash". 583 | Blake2b112 Code = 0xb20e // blake2b-112 584 | 585 | // Blake2b120 is a draft code tagged "multihash". 586 | Blake2b120 Code = 0xb20f // blake2b-120 587 | 588 | // Blake2b128 is a draft code tagged "multihash". 589 | Blake2b128 Code = 0xb210 // blake2b-128 590 | 591 | // Blake2b136 is a draft code tagged "multihash". 592 | Blake2b136 Code = 0xb211 // blake2b-136 593 | 594 | // Blake2b144 is a draft code tagged "multihash". 595 | Blake2b144 Code = 0xb212 // blake2b-144 596 | 597 | // Blake2b152 is a draft code tagged "multihash". 598 | Blake2b152 Code = 0xb213 // blake2b-152 599 | 600 | // Blake2b160 is a draft code tagged "multihash". 601 | Blake2b160 Code = 0xb214 // blake2b-160 602 | 603 | // Blake2b168 is a draft code tagged "multihash". 604 | Blake2b168 Code = 0xb215 // blake2b-168 605 | 606 | // Blake2b176 is a draft code tagged "multihash". 607 | Blake2b176 Code = 0xb216 // blake2b-176 608 | 609 | // Blake2b184 is a draft code tagged "multihash". 610 | Blake2b184 Code = 0xb217 // blake2b-184 611 | 612 | // Blake2b192 is a draft code tagged "multihash". 613 | Blake2b192 Code = 0xb218 // blake2b-192 614 | 615 | // Blake2b200 is a draft code tagged "multihash". 616 | Blake2b200 Code = 0xb219 // blake2b-200 617 | 618 | // Blake2b208 is a draft code tagged "multihash". 619 | Blake2b208 Code = 0xb21a // blake2b-208 620 | 621 | // Blake2b216 is a draft code tagged "multihash". 622 | Blake2b216 Code = 0xb21b // blake2b-216 623 | 624 | // Blake2b224 is a draft code tagged "multihash". 625 | Blake2b224 Code = 0xb21c // blake2b-224 626 | 627 | // Blake2b232 is a draft code tagged "multihash". 628 | Blake2b232 Code = 0xb21d // blake2b-232 629 | 630 | // Blake2b240 is a draft code tagged "multihash". 631 | Blake2b240 Code = 0xb21e // blake2b-240 632 | 633 | // Blake2b248 is a draft code tagged "multihash". 634 | Blake2b248 Code = 0xb21f // blake2b-248 635 | 636 | // Blake2b256 is a permanent code tagged "multihash". 637 | Blake2b256 Code = 0xb220 // blake2b-256 638 | 639 | // Blake2b264 is a draft code tagged "multihash". 640 | Blake2b264 Code = 0xb221 // blake2b-264 641 | 642 | // Blake2b272 is a draft code tagged "multihash". 643 | Blake2b272 Code = 0xb222 // blake2b-272 644 | 645 | // Blake2b280 is a draft code tagged "multihash". 646 | Blake2b280 Code = 0xb223 // blake2b-280 647 | 648 | // Blake2b288 is a draft code tagged "multihash". 649 | Blake2b288 Code = 0xb224 // blake2b-288 650 | 651 | // Blake2b296 is a draft code tagged "multihash". 652 | Blake2b296 Code = 0xb225 // blake2b-296 653 | 654 | // Blake2b304 is a draft code tagged "multihash". 655 | Blake2b304 Code = 0xb226 // blake2b-304 656 | 657 | // Blake2b312 is a draft code tagged "multihash". 658 | Blake2b312 Code = 0xb227 // blake2b-312 659 | 660 | // Blake2b320 is a draft code tagged "multihash". 661 | Blake2b320 Code = 0xb228 // blake2b-320 662 | 663 | // Blake2b328 is a draft code tagged "multihash". 664 | Blake2b328 Code = 0xb229 // blake2b-328 665 | 666 | // Blake2b336 is a draft code tagged "multihash". 667 | Blake2b336 Code = 0xb22a // blake2b-336 668 | 669 | // Blake2b344 is a draft code tagged "multihash". 670 | Blake2b344 Code = 0xb22b // blake2b-344 671 | 672 | // Blake2b352 is a draft code tagged "multihash". 673 | Blake2b352 Code = 0xb22c // blake2b-352 674 | 675 | // Blake2b360 is a draft code tagged "multihash". 676 | Blake2b360 Code = 0xb22d // blake2b-360 677 | 678 | // Blake2b368 is a draft code tagged "multihash". 679 | Blake2b368 Code = 0xb22e // blake2b-368 680 | 681 | // Blake2b376 is a draft code tagged "multihash". 682 | Blake2b376 Code = 0xb22f // blake2b-376 683 | 684 | // Blake2b384 is a draft code tagged "multihash". 685 | Blake2b384 Code = 0xb230 // blake2b-384 686 | 687 | // Blake2b392 is a draft code tagged "multihash". 688 | Blake2b392 Code = 0xb231 // blake2b-392 689 | 690 | // Blake2b400 is a draft code tagged "multihash". 691 | Blake2b400 Code = 0xb232 // blake2b-400 692 | 693 | // Blake2b408 is a draft code tagged "multihash". 694 | Blake2b408 Code = 0xb233 // blake2b-408 695 | 696 | // Blake2b416 is a draft code tagged "multihash". 697 | Blake2b416 Code = 0xb234 // blake2b-416 698 | 699 | // Blake2b424 is a draft code tagged "multihash". 700 | Blake2b424 Code = 0xb235 // blake2b-424 701 | 702 | // Blake2b432 is a draft code tagged "multihash". 703 | Blake2b432 Code = 0xb236 // blake2b-432 704 | 705 | // Blake2b440 is a draft code tagged "multihash". 706 | Blake2b440 Code = 0xb237 // blake2b-440 707 | 708 | // Blake2b448 is a draft code tagged "multihash". 709 | Blake2b448 Code = 0xb238 // blake2b-448 710 | 711 | // Blake2b456 is a draft code tagged "multihash". 712 | Blake2b456 Code = 0xb239 // blake2b-456 713 | 714 | // Blake2b464 is a draft code tagged "multihash". 715 | Blake2b464 Code = 0xb23a // blake2b-464 716 | 717 | // Blake2b472 is a draft code tagged "multihash". 718 | Blake2b472 Code = 0xb23b // blake2b-472 719 | 720 | // Blake2b480 is a draft code tagged "multihash". 721 | Blake2b480 Code = 0xb23c // blake2b-480 722 | 723 | // Blake2b488 is a draft code tagged "multihash". 724 | Blake2b488 Code = 0xb23d // blake2b-488 725 | 726 | // Blake2b496 is a draft code tagged "multihash". 727 | Blake2b496 Code = 0xb23e // blake2b-496 728 | 729 | // Blake2b504 is a draft code tagged "multihash". 730 | Blake2b504 Code = 0xb23f // blake2b-504 731 | 732 | // Blake2b512 is a draft code tagged "multihash". 733 | Blake2b512 Code = 0xb240 // blake2b-512 734 | 735 | // Blake2s8 is a draft code tagged "multihash" and described by: Blake2s consists of 32 output lengths that give different hashes. 736 | Blake2s8 Code = 0xb241 // blake2s-8 737 | 738 | // Blake2s16 is a draft code tagged "multihash". 739 | Blake2s16 Code = 0xb242 // blake2s-16 740 | 741 | // Blake2s24 is a draft code tagged "multihash". 742 | Blake2s24 Code = 0xb243 // blake2s-24 743 | 744 | // Blake2s32 is a draft code tagged "multihash". 745 | Blake2s32 Code = 0xb244 // blake2s-32 746 | 747 | // Blake2s40 is a draft code tagged "multihash". 748 | Blake2s40 Code = 0xb245 // blake2s-40 749 | 750 | // Blake2s48 is a draft code tagged "multihash". 751 | Blake2s48 Code = 0xb246 // blake2s-48 752 | 753 | // Blake2s56 is a draft code tagged "multihash". 754 | Blake2s56 Code = 0xb247 // blake2s-56 755 | 756 | // Blake2s64 is a draft code tagged "multihash". 757 | Blake2s64 Code = 0xb248 // blake2s-64 758 | 759 | // Blake2s72 is a draft code tagged "multihash". 760 | Blake2s72 Code = 0xb249 // blake2s-72 761 | 762 | // Blake2s80 is a draft code tagged "multihash". 763 | Blake2s80 Code = 0xb24a // blake2s-80 764 | 765 | // Blake2s88 is a draft code tagged "multihash". 766 | Blake2s88 Code = 0xb24b // blake2s-88 767 | 768 | // Blake2s96 is a draft code tagged "multihash". 769 | Blake2s96 Code = 0xb24c // blake2s-96 770 | 771 | // Blake2s104 is a draft code tagged "multihash". 772 | Blake2s104 Code = 0xb24d // blake2s-104 773 | 774 | // Blake2s112 is a draft code tagged "multihash". 775 | Blake2s112 Code = 0xb24e // blake2s-112 776 | 777 | // Blake2s120 is a draft code tagged "multihash". 778 | Blake2s120 Code = 0xb24f // blake2s-120 779 | 780 | // Blake2s128 is a draft code tagged "multihash". 781 | Blake2s128 Code = 0xb250 // blake2s-128 782 | 783 | // Blake2s136 is a draft code tagged "multihash". 784 | Blake2s136 Code = 0xb251 // blake2s-136 785 | 786 | // Blake2s144 is a draft code tagged "multihash". 787 | Blake2s144 Code = 0xb252 // blake2s-144 788 | 789 | // Blake2s152 is a draft code tagged "multihash". 790 | Blake2s152 Code = 0xb253 // blake2s-152 791 | 792 | // Blake2s160 is a draft code tagged "multihash". 793 | Blake2s160 Code = 0xb254 // blake2s-160 794 | 795 | // Blake2s168 is a draft code tagged "multihash". 796 | Blake2s168 Code = 0xb255 // blake2s-168 797 | 798 | // Blake2s176 is a draft code tagged "multihash". 799 | Blake2s176 Code = 0xb256 // blake2s-176 800 | 801 | // Blake2s184 is a draft code tagged "multihash". 802 | Blake2s184 Code = 0xb257 // blake2s-184 803 | 804 | // Blake2s192 is a draft code tagged "multihash". 805 | Blake2s192 Code = 0xb258 // blake2s-192 806 | 807 | // Blake2s200 is a draft code tagged "multihash". 808 | Blake2s200 Code = 0xb259 // blake2s-200 809 | 810 | // Blake2s208 is a draft code tagged "multihash". 811 | Blake2s208 Code = 0xb25a // blake2s-208 812 | 813 | // Blake2s216 is a draft code tagged "multihash". 814 | Blake2s216 Code = 0xb25b // blake2s-216 815 | 816 | // Blake2s224 is a draft code tagged "multihash". 817 | Blake2s224 Code = 0xb25c // blake2s-224 818 | 819 | // Blake2s232 is a draft code tagged "multihash". 820 | Blake2s232 Code = 0xb25d // blake2s-232 821 | 822 | // Blake2s240 is a draft code tagged "multihash". 823 | Blake2s240 Code = 0xb25e // blake2s-240 824 | 825 | // Blake2s248 is a draft code tagged "multihash". 826 | Blake2s248 Code = 0xb25f // blake2s-248 827 | 828 | // Blake2s256 is a draft code tagged "multihash". 829 | Blake2s256 Code = 0xb260 // blake2s-256 830 | 831 | // Skein256_8 is a draft code tagged "multihash" and described by: Skein256 consists of 32 output lengths that give different hashes. 832 | Skein256_8 Code = 0xb301 // skein256-8 833 | 834 | // Skein256_16 is a draft code tagged "multihash". 835 | Skein256_16 Code = 0xb302 // skein256-16 836 | 837 | // Skein256_24 is a draft code tagged "multihash". 838 | Skein256_24 Code = 0xb303 // skein256-24 839 | 840 | // Skein256_32 is a draft code tagged "multihash". 841 | Skein256_32 Code = 0xb304 // skein256-32 842 | 843 | // Skein256_40 is a draft code tagged "multihash". 844 | Skein256_40 Code = 0xb305 // skein256-40 845 | 846 | // Skein256_48 is a draft code tagged "multihash". 847 | Skein256_48 Code = 0xb306 // skein256-48 848 | 849 | // Skein256_56 is a draft code tagged "multihash". 850 | Skein256_56 Code = 0xb307 // skein256-56 851 | 852 | // Skein256_64 is a draft code tagged "multihash". 853 | Skein256_64 Code = 0xb308 // skein256-64 854 | 855 | // Skein256_72 is a draft code tagged "multihash". 856 | Skein256_72 Code = 0xb309 // skein256-72 857 | 858 | // Skein256_80 is a draft code tagged "multihash". 859 | Skein256_80 Code = 0xb30a // skein256-80 860 | 861 | // Skein256_88 is a draft code tagged "multihash". 862 | Skein256_88 Code = 0xb30b // skein256-88 863 | 864 | // Skein256_96 is a draft code tagged "multihash". 865 | Skein256_96 Code = 0xb30c // skein256-96 866 | 867 | // Skein256_104 is a draft code tagged "multihash". 868 | Skein256_104 Code = 0xb30d // skein256-104 869 | 870 | // Skein256_112 is a draft code tagged "multihash". 871 | Skein256_112 Code = 0xb30e // skein256-112 872 | 873 | // Skein256_120 is a draft code tagged "multihash". 874 | Skein256_120 Code = 0xb30f // skein256-120 875 | 876 | // Skein256_128 is a draft code tagged "multihash". 877 | Skein256_128 Code = 0xb310 // skein256-128 878 | 879 | // Skein256_136 is a draft code tagged "multihash". 880 | Skein256_136 Code = 0xb311 // skein256-136 881 | 882 | // Skein256_144 is a draft code tagged "multihash". 883 | Skein256_144 Code = 0xb312 // skein256-144 884 | 885 | // Skein256_152 is a draft code tagged "multihash". 886 | Skein256_152 Code = 0xb313 // skein256-152 887 | 888 | // Skein256_160 is a draft code tagged "multihash". 889 | Skein256_160 Code = 0xb314 // skein256-160 890 | 891 | // Skein256_168 is a draft code tagged "multihash". 892 | Skein256_168 Code = 0xb315 // skein256-168 893 | 894 | // Skein256_176 is a draft code tagged "multihash". 895 | Skein256_176 Code = 0xb316 // skein256-176 896 | 897 | // Skein256_184 is a draft code tagged "multihash". 898 | Skein256_184 Code = 0xb317 // skein256-184 899 | 900 | // Skein256_192 is a draft code tagged "multihash". 901 | Skein256_192 Code = 0xb318 // skein256-192 902 | 903 | // Skein256_200 is a draft code tagged "multihash". 904 | Skein256_200 Code = 0xb319 // skein256-200 905 | 906 | // Skein256_208 is a draft code tagged "multihash". 907 | Skein256_208 Code = 0xb31a // skein256-208 908 | 909 | // Skein256_216 is a draft code tagged "multihash". 910 | Skein256_216 Code = 0xb31b // skein256-216 911 | 912 | // Skein256_224 is a draft code tagged "multihash". 913 | Skein256_224 Code = 0xb31c // skein256-224 914 | 915 | // Skein256_232 is a draft code tagged "multihash". 916 | Skein256_232 Code = 0xb31d // skein256-232 917 | 918 | // Skein256_240 is a draft code tagged "multihash". 919 | Skein256_240 Code = 0xb31e // skein256-240 920 | 921 | // Skein256_248 is a draft code tagged "multihash". 922 | Skein256_248 Code = 0xb31f // skein256-248 923 | 924 | // Skein256_256 is a draft code tagged "multihash". 925 | Skein256_256 Code = 0xb320 // skein256-256 926 | 927 | // Skein512_8 is a draft code tagged "multihash" and described by: Skein512 consists of 64 output lengths that give different hashes. 928 | Skein512_8 Code = 0xb321 // skein512-8 929 | 930 | // Skein512_16 is a draft code tagged "multihash". 931 | Skein512_16 Code = 0xb322 // skein512-16 932 | 933 | // Skein512_24 is a draft code tagged "multihash". 934 | Skein512_24 Code = 0xb323 // skein512-24 935 | 936 | // Skein512_32 is a draft code tagged "multihash". 937 | Skein512_32 Code = 0xb324 // skein512-32 938 | 939 | // Skein512_40 is a draft code tagged "multihash". 940 | Skein512_40 Code = 0xb325 // skein512-40 941 | 942 | // Skein512_48 is a draft code tagged "multihash". 943 | Skein512_48 Code = 0xb326 // skein512-48 944 | 945 | // Skein512_56 is a draft code tagged "multihash". 946 | Skein512_56 Code = 0xb327 // skein512-56 947 | 948 | // Skein512_64 is a draft code tagged "multihash". 949 | Skein512_64 Code = 0xb328 // skein512-64 950 | 951 | // Skein512_72 is a draft code tagged "multihash". 952 | Skein512_72 Code = 0xb329 // skein512-72 953 | 954 | // Skein512_80 is a draft code tagged "multihash". 955 | Skein512_80 Code = 0xb32a // skein512-80 956 | 957 | // Skein512_88 is a draft code tagged "multihash". 958 | Skein512_88 Code = 0xb32b // skein512-88 959 | 960 | // Skein512_96 is a draft code tagged "multihash". 961 | Skein512_96 Code = 0xb32c // skein512-96 962 | 963 | // Skein512_104 is a draft code tagged "multihash". 964 | Skein512_104 Code = 0xb32d // skein512-104 965 | 966 | // Skein512_112 is a draft code tagged "multihash". 967 | Skein512_112 Code = 0xb32e // skein512-112 968 | 969 | // Skein512_120 is a draft code tagged "multihash". 970 | Skein512_120 Code = 0xb32f // skein512-120 971 | 972 | // Skein512_128 is a draft code tagged "multihash". 973 | Skein512_128 Code = 0xb330 // skein512-128 974 | 975 | // Skein512_136 is a draft code tagged "multihash". 976 | Skein512_136 Code = 0xb331 // skein512-136 977 | 978 | // Skein512_144 is a draft code tagged "multihash". 979 | Skein512_144 Code = 0xb332 // skein512-144 980 | 981 | // Skein512_152 is a draft code tagged "multihash". 982 | Skein512_152 Code = 0xb333 // skein512-152 983 | 984 | // Skein512_160 is a draft code tagged "multihash". 985 | Skein512_160 Code = 0xb334 // skein512-160 986 | 987 | // Skein512_168 is a draft code tagged "multihash". 988 | Skein512_168 Code = 0xb335 // skein512-168 989 | 990 | // Skein512_176 is a draft code tagged "multihash". 991 | Skein512_176 Code = 0xb336 // skein512-176 992 | 993 | // Skein512_184 is a draft code tagged "multihash". 994 | Skein512_184 Code = 0xb337 // skein512-184 995 | 996 | // Skein512_192 is a draft code tagged "multihash". 997 | Skein512_192 Code = 0xb338 // skein512-192 998 | 999 | // Skein512_200 is a draft code tagged "multihash". 1000 | Skein512_200 Code = 0xb339 // skein512-200 1001 | 1002 | // Skein512_208 is a draft code tagged "multihash". 1003 | Skein512_208 Code = 0xb33a // skein512-208 1004 | 1005 | // Skein512_216 is a draft code tagged "multihash". 1006 | Skein512_216 Code = 0xb33b // skein512-216 1007 | 1008 | // Skein512_224 is a draft code tagged "multihash". 1009 | Skein512_224 Code = 0xb33c // skein512-224 1010 | 1011 | // Skein512_232 is a draft code tagged "multihash". 1012 | Skein512_232 Code = 0xb33d // skein512-232 1013 | 1014 | // Skein512_240 is a draft code tagged "multihash". 1015 | Skein512_240 Code = 0xb33e // skein512-240 1016 | 1017 | // Skein512_248 is a draft code tagged "multihash". 1018 | Skein512_248 Code = 0xb33f // skein512-248 1019 | 1020 | // Skein512_256 is a draft code tagged "multihash". 1021 | Skein512_256 Code = 0xb340 // skein512-256 1022 | 1023 | // Skein512_264 is a draft code tagged "multihash". 1024 | Skein512_264 Code = 0xb341 // skein512-264 1025 | 1026 | // Skein512_272 is a draft code tagged "multihash". 1027 | Skein512_272 Code = 0xb342 // skein512-272 1028 | 1029 | // Skein512_280 is a draft code tagged "multihash". 1030 | Skein512_280 Code = 0xb343 // skein512-280 1031 | 1032 | // Skein512_288 is a draft code tagged "multihash". 1033 | Skein512_288 Code = 0xb344 // skein512-288 1034 | 1035 | // Skein512_296 is a draft code tagged "multihash". 1036 | Skein512_296 Code = 0xb345 // skein512-296 1037 | 1038 | // Skein512_304 is a draft code tagged "multihash". 1039 | Skein512_304 Code = 0xb346 // skein512-304 1040 | 1041 | // Skein512_312 is a draft code tagged "multihash". 1042 | Skein512_312 Code = 0xb347 // skein512-312 1043 | 1044 | // Skein512_320 is a draft code tagged "multihash". 1045 | Skein512_320 Code = 0xb348 // skein512-320 1046 | 1047 | // Skein512_328 is a draft code tagged "multihash". 1048 | Skein512_328 Code = 0xb349 // skein512-328 1049 | 1050 | // Skein512_336 is a draft code tagged "multihash". 1051 | Skein512_336 Code = 0xb34a // skein512-336 1052 | 1053 | // Skein512_344 is a draft code tagged "multihash". 1054 | Skein512_344 Code = 0xb34b // skein512-344 1055 | 1056 | // Skein512_352 is a draft code tagged "multihash". 1057 | Skein512_352 Code = 0xb34c // skein512-352 1058 | 1059 | // Skein512_360 is a draft code tagged "multihash". 1060 | Skein512_360 Code = 0xb34d // skein512-360 1061 | 1062 | // Skein512_368 is a draft code tagged "multihash". 1063 | Skein512_368 Code = 0xb34e // skein512-368 1064 | 1065 | // Skein512_376 is a draft code tagged "multihash". 1066 | Skein512_376 Code = 0xb34f // skein512-376 1067 | 1068 | // Skein512_384 is a draft code tagged "multihash". 1069 | Skein512_384 Code = 0xb350 // skein512-384 1070 | 1071 | // Skein512_392 is a draft code tagged "multihash". 1072 | Skein512_392 Code = 0xb351 // skein512-392 1073 | 1074 | // Skein512_400 is a draft code tagged "multihash". 1075 | Skein512_400 Code = 0xb352 // skein512-400 1076 | 1077 | // Skein512_408 is a draft code tagged "multihash". 1078 | Skein512_408 Code = 0xb353 // skein512-408 1079 | 1080 | // Skein512_416 is a draft code tagged "multihash". 1081 | Skein512_416 Code = 0xb354 // skein512-416 1082 | 1083 | // Skein512_424 is a draft code tagged "multihash". 1084 | Skein512_424 Code = 0xb355 // skein512-424 1085 | 1086 | // Skein512_432 is a draft code tagged "multihash". 1087 | Skein512_432 Code = 0xb356 // skein512-432 1088 | 1089 | // Skein512_440 is a draft code tagged "multihash". 1090 | Skein512_440 Code = 0xb357 // skein512-440 1091 | 1092 | // Skein512_448 is a draft code tagged "multihash". 1093 | Skein512_448 Code = 0xb358 // skein512-448 1094 | 1095 | // Skein512_456 is a draft code tagged "multihash". 1096 | Skein512_456 Code = 0xb359 // skein512-456 1097 | 1098 | // Skein512_464 is a draft code tagged "multihash". 1099 | Skein512_464 Code = 0xb35a // skein512-464 1100 | 1101 | // Skein512_472 is a draft code tagged "multihash". 1102 | Skein512_472 Code = 0xb35b // skein512-472 1103 | 1104 | // Skein512_480 is a draft code tagged "multihash". 1105 | Skein512_480 Code = 0xb35c // skein512-480 1106 | 1107 | // Skein512_488 is a draft code tagged "multihash". 1108 | Skein512_488 Code = 0xb35d // skein512-488 1109 | 1110 | // Skein512_496 is a draft code tagged "multihash". 1111 | Skein512_496 Code = 0xb35e // skein512-496 1112 | 1113 | // Skein512_504 is a draft code tagged "multihash". 1114 | Skein512_504 Code = 0xb35f // skein512-504 1115 | 1116 | // Skein512_512 is a draft code tagged "multihash". 1117 | Skein512_512 Code = 0xb360 // skein512-512 1118 | 1119 | // Skein1024_8 is a draft code tagged "multihash" and described by: Skein1024 consists of 128 output lengths that give different hashes. 1120 | Skein1024_8 Code = 0xb361 // skein1024-8 1121 | 1122 | // Skein1024_16 is a draft code tagged "multihash". 1123 | Skein1024_16 Code = 0xb362 // skein1024-16 1124 | 1125 | // Skein1024_24 is a draft code tagged "multihash". 1126 | Skein1024_24 Code = 0xb363 // skein1024-24 1127 | 1128 | // Skein1024_32 is a draft code tagged "multihash". 1129 | Skein1024_32 Code = 0xb364 // skein1024-32 1130 | 1131 | // Skein1024_40 is a draft code tagged "multihash". 1132 | Skein1024_40 Code = 0xb365 // skein1024-40 1133 | 1134 | // Skein1024_48 is a draft code tagged "multihash". 1135 | Skein1024_48 Code = 0xb366 // skein1024-48 1136 | 1137 | // Skein1024_56 is a draft code tagged "multihash". 1138 | Skein1024_56 Code = 0xb367 // skein1024-56 1139 | 1140 | // Skein1024_64 is a draft code tagged "multihash". 1141 | Skein1024_64 Code = 0xb368 // skein1024-64 1142 | 1143 | // Skein1024_72 is a draft code tagged "multihash". 1144 | Skein1024_72 Code = 0xb369 // skein1024-72 1145 | 1146 | // Skein1024_80 is a draft code tagged "multihash". 1147 | Skein1024_80 Code = 0xb36a // skein1024-80 1148 | 1149 | // Skein1024_88 is a draft code tagged "multihash". 1150 | Skein1024_88 Code = 0xb36b // skein1024-88 1151 | 1152 | // Skein1024_96 is a draft code tagged "multihash". 1153 | Skein1024_96 Code = 0xb36c // skein1024-96 1154 | 1155 | // Skein1024_104 is a draft code tagged "multihash". 1156 | Skein1024_104 Code = 0xb36d // skein1024-104 1157 | 1158 | // Skein1024_112 is a draft code tagged "multihash". 1159 | Skein1024_112 Code = 0xb36e // skein1024-112 1160 | 1161 | // Skein1024_120 is a draft code tagged "multihash". 1162 | Skein1024_120 Code = 0xb36f // skein1024-120 1163 | 1164 | // Skein1024_128 is a draft code tagged "multihash". 1165 | Skein1024_128 Code = 0xb370 // skein1024-128 1166 | 1167 | // Skein1024_136 is a draft code tagged "multihash". 1168 | Skein1024_136 Code = 0xb371 // skein1024-136 1169 | 1170 | // Skein1024_144 is a draft code tagged "multihash". 1171 | Skein1024_144 Code = 0xb372 // skein1024-144 1172 | 1173 | // Skein1024_152 is a draft code tagged "multihash". 1174 | Skein1024_152 Code = 0xb373 // skein1024-152 1175 | 1176 | // Skein1024_160 is a draft code tagged "multihash". 1177 | Skein1024_160 Code = 0xb374 // skein1024-160 1178 | 1179 | // Skein1024_168 is a draft code tagged "multihash". 1180 | Skein1024_168 Code = 0xb375 // skein1024-168 1181 | 1182 | // Skein1024_176 is a draft code tagged "multihash". 1183 | Skein1024_176 Code = 0xb376 // skein1024-176 1184 | 1185 | // Skein1024_184 is a draft code tagged "multihash". 1186 | Skein1024_184 Code = 0xb377 // skein1024-184 1187 | 1188 | // Skein1024_192 is a draft code tagged "multihash". 1189 | Skein1024_192 Code = 0xb378 // skein1024-192 1190 | 1191 | // Skein1024_200 is a draft code tagged "multihash". 1192 | Skein1024_200 Code = 0xb379 // skein1024-200 1193 | 1194 | // Skein1024_208 is a draft code tagged "multihash". 1195 | Skein1024_208 Code = 0xb37a // skein1024-208 1196 | 1197 | // Skein1024_216 is a draft code tagged "multihash". 1198 | Skein1024_216 Code = 0xb37b // skein1024-216 1199 | 1200 | // Skein1024_224 is a draft code tagged "multihash". 1201 | Skein1024_224 Code = 0xb37c // skein1024-224 1202 | 1203 | // Skein1024_232 is a draft code tagged "multihash". 1204 | Skein1024_232 Code = 0xb37d // skein1024-232 1205 | 1206 | // Skein1024_240 is a draft code tagged "multihash". 1207 | Skein1024_240 Code = 0xb37e // skein1024-240 1208 | 1209 | // Skein1024_248 is a draft code tagged "multihash". 1210 | Skein1024_248 Code = 0xb37f // skein1024-248 1211 | 1212 | // Skein1024_256 is a draft code tagged "multihash". 1213 | Skein1024_256 Code = 0xb380 // skein1024-256 1214 | 1215 | // Skein1024_264 is a draft code tagged "multihash". 1216 | Skein1024_264 Code = 0xb381 // skein1024-264 1217 | 1218 | // Skein1024_272 is a draft code tagged "multihash". 1219 | Skein1024_272 Code = 0xb382 // skein1024-272 1220 | 1221 | // Skein1024_280 is a draft code tagged "multihash". 1222 | Skein1024_280 Code = 0xb383 // skein1024-280 1223 | 1224 | // Skein1024_288 is a draft code tagged "multihash". 1225 | Skein1024_288 Code = 0xb384 // skein1024-288 1226 | 1227 | // Skein1024_296 is a draft code tagged "multihash". 1228 | Skein1024_296 Code = 0xb385 // skein1024-296 1229 | 1230 | // Skein1024_304 is a draft code tagged "multihash". 1231 | Skein1024_304 Code = 0xb386 // skein1024-304 1232 | 1233 | // Skein1024_312 is a draft code tagged "multihash". 1234 | Skein1024_312 Code = 0xb387 // skein1024-312 1235 | 1236 | // Skein1024_320 is a draft code tagged "multihash". 1237 | Skein1024_320 Code = 0xb388 // skein1024-320 1238 | 1239 | // Skein1024_328 is a draft code tagged "multihash". 1240 | Skein1024_328 Code = 0xb389 // skein1024-328 1241 | 1242 | // Skein1024_336 is a draft code tagged "multihash". 1243 | Skein1024_336 Code = 0xb38a // skein1024-336 1244 | 1245 | // Skein1024_344 is a draft code tagged "multihash". 1246 | Skein1024_344 Code = 0xb38b // skein1024-344 1247 | 1248 | // Skein1024_352 is a draft code tagged "multihash". 1249 | Skein1024_352 Code = 0xb38c // skein1024-352 1250 | 1251 | // Skein1024_360 is a draft code tagged "multihash". 1252 | Skein1024_360 Code = 0xb38d // skein1024-360 1253 | 1254 | // Skein1024_368 is a draft code tagged "multihash". 1255 | Skein1024_368 Code = 0xb38e // skein1024-368 1256 | 1257 | // Skein1024_376 is a draft code tagged "multihash". 1258 | Skein1024_376 Code = 0xb38f // skein1024-376 1259 | 1260 | // Skein1024_384 is a draft code tagged "multihash". 1261 | Skein1024_384 Code = 0xb390 // skein1024-384 1262 | 1263 | // Skein1024_392 is a draft code tagged "multihash". 1264 | Skein1024_392 Code = 0xb391 // skein1024-392 1265 | 1266 | // Skein1024_400 is a draft code tagged "multihash". 1267 | Skein1024_400 Code = 0xb392 // skein1024-400 1268 | 1269 | // Skein1024_408 is a draft code tagged "multihash". 1270 | Skein1024_408 Code = 0xb393 // skein1024-408 1271 | 1272 | // Skein1024_416 is a draft code tagged "multihash". 1273 | Skein1024_416 Code = 0xb394 // skein1024-416 1274 | 1275 | // Skein1024_424 is a draft code tagged "multihash". 1276 | Skein1024_424 Code = 0xb395 // skein1024-424 1277 | 1278 | // Skein1024_432 is a draft code tagged "multihash". 1279 | Skein1024_432 Code = 0xb396 // skein1024-432 1280 | 1281 | // Skein1024_440 is a draft code tagged "multihash". 1282 | Skein1024_440 Code = 0xb397 // skein1024-440 1283 | 1284 | // Skein1024_448 is a draft code tagged "multihash". 1285 | Skein1024_448 Code = 0xb398 // skein1024-448 1286 | 1287 | // Skein1024_456 is a draft code tagged "multihash". 1288 | Skein1024_456 Code = 0xb399 // skein1024-456 1289 | 1290 | // Skein1024_464 is a draft code tagged "multihash". 1291 | Skein1024_464 Code = 0xb39a // skein1024-464 1292 | 1293 | // Skein1024_472 is a draft code tagged "multihash". 1294 | Skein1024_472 Code = 0xb39b // skein1024-472 1295 | 1296 | // Skein1024_480 is a draft code tagged "multihash". 1297 | Skein1024_480 Code = 0xb39c // skein1024-480 1298 | 1299 | // Skein1024_488 is a draft code tagged "multihash". 1300 | Skein1024_488 Code = 0xb39d // skein1024-488 1301 | 1302 | // Skein1024_496 is a draft code tagged "multihash". 1303 | Skein1024_496 Code = 0xb39e // skein1024-496 1304 | 1305 | // Skein1024_504 is a draft code tagged "multihash". 1306 | Skein1024_504 Code = 0xb39f // skein1024-504 1307 | 1308 | // Skein1024_512 is a draft code tagged "multihash". 1309 | Skein1024_512 Code = 0xb3a0 // skein1024-512 1310 | 1311 | // Skein1024_520 is a draft code tagged "multihash". 1312 | Skein1024_520 Code = 0xb3a1 // skein1024-520 1313 | 1314 | // Skein1024_528 is a draft code tagged "multihash". 1315 | Skein1024_528 Code = 0xb3a2 // skein1024-528 1316 | 1317 | // Skein1024_536 is a draft code tagged "multihash". 1318 | Skein1024_536 Code = 0xb3a3 // skein1024-536 1319 | 1320 | // Skein1024_544 is a draft code tagged "multihash". 1321 | Skein1024_544 Code = 0xb3a4 // skein1024-544 1322 | 1323 | // Skein1024_552 is a draft code tagged "multihash". 1324 | Skein1024_552 Code = 0xb3a5 // skein1024-552 1325 | 1326 | // Skein1024_560 is a draft code tagged "multihash". 1327 | Skein1024_560 Code = 0xb3a6 // skein1024-560 1328 | 1329 | // Skein1024_568 is a draft code tagged "multihash". 1330 | Skein1024_568 Code = 0xb3a7 // skein1024-568 1331 | 1332 | // Skein1024_576 is a draft code tagged "multihash". 1333 | Skein1024_576 Code = 0xb3a8 // skein1024-576 1334 | 1335 | // Skein1024_584 is a draft code tagged "multihash". 1336 | Skein1024_584 Code = 0xb3a9 // skein1024-584 1337 | 1338 | // Skein1024_592 is a draft code tagged "multihash". 1339 | Skein1024_592 Code = 0xb3aa // skein1024-592 1340 | 1341 | // Skein1024_600 is a draft code tagged "multihash". 1342 | Skein1024_600 Code = 0xb3ab // skein1024-600 1343 | 1344 | // Skein1024_608 is a draft code tagged "multihash". 1345 | Skein1024_608 Code = 0xb3ac // skein1024-608 1346 | 1347 | // Skein1024_616 is a draft code tagged "multihash". 1348 | Skein1024_616 Code = 0xb3ad // skein1024-616 1349 | 1350 | // Skein1024_624 is a draft code tagged "multihash". 1351 | Skein1024_624 Code = 0xb3ae // skein1024-624 1352 | 1353 | // Skein1024_632 is a draft code tagged "multihash". 1354 | Skein1024_632 Code = 0xb3af // skein1024-632 1355 | 1356 | // Skein1024_640 is a draft code tagged "multihash". 1357 | Skein1024_640 Code = 0xb3b0 // skein1024-640 1358 | 1359 | // Skein1024_648 is a draft code tagged "multihash". 1360 | Skein1024_648 Code = 0xb3b1 // skein1024-648 1361 | 1362 | // Skein1024_656 is a draft code tagged "multihash". 1363 | Skein1024_656 Code = 0xb3b2 // skein1024-656 1364 | 1365 | // Skein1024_664 is a draft code tagged "multihash". 1366 | Skein1024_664 Code = 0xb3b3 // skein1024-664 1367 | 1368 | // Skein1024_672 is a draft code tagged "multihash". 1369 | Skein1024_672 Code = 0xb3b4 // skein1024-672 1370 | 1371 | // Skein1024_680 is a draft code tagged "multihash". 1372 | Skein1024_680 Code = 0xb3b5 // skein1024-680 1373 | 1374 | // Skein1024_688 is a draft code tagged "multihash". 1375 | Skein1024_688 Code = 0xb3b6 // skein1024-688 1376 | 1377 | // Skein1024_696 is a draft code tagged "multihash". 1378 | Skein1024_696 Code = 0xb3b7 // skein1024-696 1379 | 1380 | // Skein1024_704 is a draft code tagged "multihash". 1381 | Skein1024_704 Code = 0xb3b8 // skein1024-704 1382 | 1383 | // Skein1024_712 is a draft code tagged "multihash". 1384 | Skein1024_712 Code = 0xb3b9 // skein1024-712 1385 | 1386 | // Skein1024_720 is a draft code tagged "multihash". 1387 | Skein1024_720 Code = 0xb3ba // skein1024-720 1388 | 1389 | // Skein1024_728 is a draft code tagged "multihash". 1390 | Skein1024_728 Code = 0xb3bb // skein1024-728 1391 | 1392 | // Skein1024_736 is a draft code tagged "multihash". 1393 | Skein1024_736 Code = 0xb3bc // skein1024-736 1394 | 1395 | // Skein1024_744 is a draft code tagged "multihash". 1396 | Skein1024_744 Code = 0xb3bd // skein1024-744 1397 | 1398 | // Skein1024_752 is a draft code tagged "multihash". 1399 | Skein1024_752 Code = 0xb3be // skein1024-752 1400 | 1401 | // Skein1024_760 is a draft code tagged "multihash". 1402 | Skein1024_760 Code = 0xb3bf // skein1024-760 1403 | 1404 | // Skein1024_768 is a draft code tagged "multihash". 1405 | Skein1024_768 Code = 0xb3c0 // skein1024-768 1406 | 1407 | // Skein1024_776 is a draft code tagged "multihash". 1408 | Skein1024_776 Code = 0xb3c1 // skein1024-776 1409 | 1410 | // Skein1024_784 is a draft code tagged "multihash". 1411 | Skein1024_784 Code = 0xb3c2 // skein1024-784 1412 | 1413 | // Skein1024_792 is a draft code tagged "multihash". 1414 | Skein1024_792 Code = 0xb3c3 // skein1024-792 1415 | 1416 | // Skein1024_800 is a draft code tagged "multihash". 1417 | Skein1024_800 Code = 0xb3c4 // skein1024-800 1418 | 1419 | // Skein1024_808 is a draft code tagged "multihash". 1420 | Skein1024_808 Code = 0xb3c5 // skein1024-808 1421 | 1422 | // Skein1024_816 is a draft code tagged "multihash". 1423 | Skein1024_816 Code = 0xb3c6 // skein1024-816 1424 | 1425 | // Skein1024_824 is a draft code tagged "multihash". 1426 | Skein1024_824 Code = 0xb3c7 // skein1024-824 1427 | 1428 | // Skein1024_832 is a draft code tagged "multihash". 1429 | Skein1024_832 Code = 0xb3c8 // skein1024-832 1430 | 1431 | // Skein1024_840 is a draft code tagged "multihash". 1432 | Skein1024_840 Code = 0xb3c9 // skein1024-840 1433 | 1434 | // Skein1024_848 is a draft code tagged "multihash". 1435 | Skein1024_848 Code = 0xb3ca // skein1024-848 1436 | 1437 | // Skein1024_856 is a draft code tagged "multihash". 1438 | Skein1024_856 Code = 0xb3cb // skein1024-856 1439 | 1440 | // Skein1024_864 is a draft code tagged "multihash". 1441 | Skein1024_864 Code = 0xb3cc // skein1024-864 1442 | 1443 | // Skein1024_872 is a draft code tagged "multihash". 1444 | Skein1024_872 Code = 0xb3cd // skein1024-872 1445 | 1446 | // Skein1024_880 is a draft code tagged "multihash". 1447 | Skein1024_880 Code = 0xb3ce // skein1024-880 1448 | 1449 | // Skein1024_888 is a draft code tagged "multihash". 1450 | Skein1024_888 Code = 0xb3cf // skein1024-888 1451 | 1452 | // Skein1024_896 is a draft code tagged "multihash". 1453 | Skein1024_896 Code = 0xb3d0 // skein1024-896 1454 | 1455 | // Skein1024_904 is a draft code tagged "multihash". 1456 | Skein1024_904 Code = 0xb3d1 // skein1024-904 1457 | 1458 | // Skein1024_912 is a draft code tagged "multihash". 1459 | Skein1024_912 Code = 0xb3d2 // skein1024-912 1460 | 1461 | // Skein1024_920 is a draft code tagged "multihash". 1462 | Skein1024_920 Code = 0xb3d3 // skein1024-920 1463 | 1464 | // Skein1024_928 is a draft code tagged "multihash". 1465 | Skein1024_928 Code = 0xb3d4 // skein1024-928 1466 | 1467 | // Skein1024_936 is a draft code tagged "multihash". 1468 | Skein1024_936 Code = 0xb3d5 // skein1024-936 1469 | 1470 | // Skein1024_944 is a draft code tagged "multihash". 1471 | Skein1024_944 Code = 0xb3d6 // skein1024-944 1472 | 1473 | // Skein1024_952 is a draft code tagged "multihash". 1474 | Skein1024_952 Code = 0xb3d7 // skein1024-952 1475 | 1476 | // Skein1024_960 is a draft code tagged "multihash". 1477 | Skein1024_960 Code = 0xb3d8 // skein1024-960 1478 | 1479 | // Skein1024_968 is a draft code tagged "multihash". 1480 | Skein1024_968 Code = 0xb3d9 // skein1024-968 1481 | 1482 | // Skein1024_976 is a draft code tagged "multihash". 1483 | Skein1024_976 Code = 0xb3da // skein1024-976 1484 | 1485 | // Skein1024_984 is a draft code tagged "multihash". 1486 | Skein1024_984 Code = 0xb3db // skein1024-984 1487 | 1488 | // Skein1024_992 is a draft code tagged "multihash". 1489 | Skein1024_992 Code = 0xb3dc // skein1024-992 1490 | 1491 | // Skein1024_1000 is a draft code tagged "multihash". 1492 | Skein1024_1000 Code = 0xb3dd // skein1024-1000 1493 | 1494 | // Skein1024_1008 is a draft code tagged "multihash". 1495 | Skein1024_1008 Code = 0xb3de // skein1024-1008 1496 | 1497 | // Skein1024_1016 is a draft code tagged "multihash". 1498 | Skein1024_1016 Code = 0xb3df // skein1024-1016 1499 | 1500 | // Skein1024_1024 is a draft code tagged "multihash". 1501 | Skein1024_1024 Code = 0xb3e0 // skein1024-1024 1502 | 1503 | // Xxh32 is a draft code tagged "hash" and described by: Extremely fast non-cryptographic hash algorithm. 1504 | Xxh32 Code = 0xb3e1 // xxh-32 1505 | 1506 | // Xxh64 is a draft code tagged "hash" and described by: Extremely fast non-cryptographic hash algorithm. 1507 | Xxh64 Code = 0xb3e2 // xxh-64 1508 | 1509 | // Xxh3_64 is a draft code tagged "hash" and described by: Extremely fast non-cryptographic hash algorithm. 1510 | Xxh3_64 Code = 0xb3e3 // xxh3-64 1511 | 1512 | // Xxh3_128 is a draft code tagged "hash" and described by: Extremely fast non-cryptographic hash algorithm. 1513 | Xxh3_128 Code = 0xb3e4 // xxh3-128 1514 | 1515 | // PoseidonBls12_381A2Fc1 is a permanent code tagged "multihash" and described by: Poseidon using BLS12-381 and arity of 2 with Filecoin parameters. 1516 | PoseidonBls12_381A2Fc1 Code = 0xb401 // poseidon-bls12_381-a2-fc1 1517 | 1518 | // PoseidonBls12_381A2Fc1Sc is a draft code tagged "multihash" and described by: Poseidon using BLS12-381 and arity of 2 with Filecoin parameters - high-security variant. 1519 | PoseidonBls12_381A2Fc1Sc Code = 0xb402 // poseidon-bls12_381-a2-fc1-sc 1520 | 1521 | // Urdca2015Canon is a draft code tagged "ipld" and described by: The result of canonicalizing an input according to URDCA-2015 and then expressing its hash value as a multihash value.. 1522 | Urdca2015Canon Code = 0xb403 // urdca-2015-canon 1523 | 1524 | // Ssz is a draft code tagged "serialization" and described by: SimpleSerialize (SSZ) serialization. 1525 | Ssz Code = 0xb501 // ssz 1526 | 1527 | // SszSha2_256Bmt is a draft code tagged "multihash" and described by: SSZ Merkle tree root using SHA2-256 as the hashing function and SSZ serialization for the block binary. 1528 | SszSha2_256Bmt Code = 0xb502 // ssz-sha2-256-bmt 1529 | 1530 | // JsonJcs is a draft code tagged "ipld" and described by: The result of canonicalizing an input according to JCS - JSON Canonicalisation Scheme (RFC 8785). 1531 | JsonJcs Code = 0xb601 // json-jcs 1532 | 1533 | // Iscc is a draft code tagged "softhash" and described by: ISCC (International Standard Content Code) - similarity preserving hash. 1534 | Iscc Code = 0xcc01 // iscc 1535 | 1536 | // ZeroxcertImprint256 is a draft code tagged "zeroxcert" and described by: 0xcert Asset Imprint (root hash). 1537 | ZeroxcertImprint256 Code = 0xce11 // zeroxcert-imprint-256 1538 | 1539 | // NonstandardSig is a deprecated code tagged "varsig" and described by: Namespace for all not yet standard signature algorithms. 1540 | NonstandardSig Code = 0xd000 // nonstandard-sig 1541 | 1542 | // Es256k is a draft code tagged "varsig" and described by: ES256K Siganture Algorithm (secp256k1). 1543 | Es256k Code = 0xd0e7 // es256k 1544 | 1545 | // Bls12381G1Sig is a draft code tagged "varsig" and described by: G1 signature for BLS-12381-G2. 1546 | Bls12381G1Sig Code = 0xd0ea // bls-12381-g1-sig 1547 | 1548 | // Bls12381G2Sig is a draft code tagged "varsig" and described by: G2 signature for BLS-12381-G1. 1549 | Bls12381G2Sig Code = 0xd0eb // bls-12381-g2-sig 1550 | 1551 | // Eddsa is a draft code tagged "varsig" and described by: Edwards-Curve Digital Signature Algorithm. 1552 | Eddsa Code = 0xd0ed // eddsa 1553 | 1554 | // Eip191 is a draft code tagged "varsig" and described by: EIP-191 Ethereum Signed Data Standard. 1555 | Eip191 Code = 0xd191 // eip-191 1556 | 1557 | // Jwk_jcsPub is a draft code tagged "key" and described by: JSON object containing only the required members of a JWK (RFC 7518 and RFC 7517) representing the public key. Serialisation based on JCS (RFC 8785). 1558 | Jwk_jcsPub Code = 0xeb51 // jwk_jcs-pub 1559 | 1560 | // FilCommitmentUnsealed is a permanent code tagged "filecoin" and described by: Filecoin piece or sector data commitment merkle node/root (CommP & CommD). 1561 | FilCommitmentUnsealed Code = 0xf101 // fil-commitment-unsealed 1562 | 1563 | // FilCommitmentSealed is a permanent code tagged "filecoin" and described by: Filecoin sector data commitment merkle node/root - sealed and replicated (CommR). 1564 | FilCommitmentSealed Code = 0xf102 // fil-commitment-sealed 1565 | 1566 | // Plaintextv2 is a draft code tagged "multiaddr". 1567 | Plaintextv2 Code = 0x706c61 // plaintextv2 1568 | 1569 | // HolochainAdrV0 is a draft code tagged "holochain" and described by: Holochain v0 address + 8 R-S (63 x Base-32). 1570 | HolochainAdrV0 Code = 0x807124 // holochain-adr-v0 1571 | 1572 | // HolochainAdrV1 is a draft code tagged "holochain" and described by: Holochain v1 address + 8 R-S (63 x Base-32). 1573 | HolochainAdrV1 Code = 0x817124 // holochain-adr-v1 1574 | 1575 | // HolochainKeyV0 is a draft code tagged "holochain" and described by: Holochain v0 public key + 8 R-S (63 x Base-32). 1576 | HolochainKeyV0 Code = 0x947124 // holochain-key-v0 1577 | 1578 | // HolochainKeyV1 is a draft code tagged "holochain" and described by: Holochain v1 public key + 8 R-S (63 x Base-32). 1579 | HolochainKeyV1 Code = 0x957124 // holochain-key-v1 1580 | 1581 | // HolochainSigV0 is a draft code tagged "holochain" and described by: Holochain v0 signature + 8 R-S (63 x Base-32). 1582 | HolochainSigV0 Code = 0xa27124 // holochain-sig-v0 1583 | 1584 | // HolochainSigV1 is a draft code tagged "holochain" and described by: Holochain v1 signature + 8 R-S (63 x Base-32). 1585 | HolochainSigV1 Code = 0xa37124 // holochain-sig-v1 1586 | 1587 | // SkynetNs is a draft code tagged "namespace" and described by: Skynet Namespace. 1588 | SkynetNs Code = 0xb19910 // skynet-ns 1589 | 1590 | // ArweaveNs is a draft code tagged "namespace" and described by: Arweave Namespace. 1591 | ArweaveNs Code = 0xb29910 // arweave-ns 1592 | 1593 | // SubspaceNs is a draft code tagged "namespace" and described by: Subspace Network Namespace. 1594 | SubspaceNs Code = 0xb39910 // subspace-ns 1595 | 1596 | // KumandraNs is a draft code tagged "namespace" and described by: Kumandra Network Namespace. 1597 | KumandraNs Code = 0xb49910 // kumandra-ns 1598 | 1599 | // Es256 is a draft code tagged "varsig" and described by: ES256 Signature Algorithm. 1600 | Es256 Code = 0xd01200 // es256 1601 | 1602 | // Es284 is a draft code tagged "varsig" and described by: ES384 Signature Algorithm. 1603 | Es284 Code = 0xd01201 // es284 1604 | 1605 | // Es512 is a draft code tagged "varsig" and described by: ES512 Signature Algorithm. 1606 | Es512 Code = 0xd01202 // es512 1607 | 1608 | // Rs256 is a draft code tagged "varsig" and described by: RS256 Signature Algorithm. 1609 | Rs256 Code = 0xd01205 // rs256 1610 | 1611 | // Scion is a draft code tagged "multiaddr" and described by: SCION Internet architecture. 1612 | Scion Code = 0xd02000 // scion 1613 | ) 1614 | 1615 | var knownCodes = []Code{ 1616 | Identity, 1617 | Cidv1, 1618 | Cidv2, 1619 | Cidv3, 1620 | Ip4, 1621 | Tcp, 1622 | Sha1, 1623 | Sha2_256, 1624 | Sha2_512, 1625 | Sha3_512, 1626 | Sha3_384, 1627 | Sha3_256, 1628 | Sha3_224, 1629 | Shake128, 1630 | Shake256, 1631 | Keccak224, 1632 | Keccak256, 1633 | Keccak384, 1634 | Keccak512, 1635 | Blake3, 1636 | Sha2_384, 1637 | Dccp, 1638 | Murmur3X64_64, 1639 | Murmur3_32, 1640 | Ip6, 1641 | Ip6zone, 1642 | Ipcidr, 1643 | Path, 1644 | Multicodec, 1645 | Multihash, 1646 | Multiaddr, 1647 | Multibase, 1648 | Varsig, 1649 | Dns, 1650 | Dns4, 1651 | Dns6, 1652 | Dnsaddr, 1653 | Protobuf, 1654 | Cbor, 1655 | Raw, 1656 | DblSha2_256, 1657 | Rlp, 1658 | Bencode, 1659 | DagPb, 1660 | DagCbor, 1661 | Libp2pKey, 1662 | GitRaw, 1663 | TorrentInfo, 1664 | TorrentFile, 1665 | LeofcoinBlock, 1666 | LeofcoinTx, 1667 | LeofcoinPr, 1668 | Sctp, 1669 | DagJose, 1670 | DagCose, 1671 | Lbry, 1672 | EthBlock, 1673 | EthBlockList, 1674 | EthTxTrie, 1675 | EthTx, 1676 | EthTxReceiptTrie, 1677 | EthTxReceipt, 1678 | EthStateTrie, 1679 | EthAccountSnapshot, 1680 | EthStorageTrie, 1681 | EthReceiptLogTrie, 1682 | EthReceiptLog, 1683 | Aes128, 1684 | Aes192, 1685 | Aes256, 1686 | Chacha128, 1687 | Chacha256, 1688 | BitcoinBlock, 1689 | BitcoinTx, 1690 | BitcoinWitnessCommitment, 1691 | ZcashBlock, 1692 | ZcashTx, 1693 | Caip50, 1694 | Streamid, 1695 | StellarBlock, 1696 | StellarTx, 1697 | Md4, 1698 | Md5, 1699 | DecredBlock, 1700 | DecredTx, 1701 | Ipld, 1702 | Ipfs, 1703 | Swarm, 1704 | Ipns, 1705 | Zeronet, 1706 | Secp256k1Pub, 1707 | Dnslink, 1708 | Bls12_381G1Pub, 1709 | Bls12_381G2Pub, 1710 | X25519Pub, 1711 | Ed25519Pub, 1712 | Bls12_381G1g2Pub, 1713 | Sr25519Pub, 1714 | DashBlock, 1715 | DashTx, 1716 | SwarmManifest, 1717 | SwarmFeed, 1718 | Beeson, 1719 | Udp, 1720 | P2pWebrtcStar, 1721 | P2pWebrtcDirect, 1722 | P2pStardust, 1723 | WebrtcDirect, 1724 | Webrtc, 1725 | P2pCircuit, 1726 | DagJson, 1727 | Udt, 1728 | Utp, 1729 | Crc32, 1730 | Crc64Ecma, 1731 | Unix, 1732 | Thread, 1733 | P2p, 1734 | Https, 1735 | Onion, 1736 | Onion3, 1737 | Garlic64, 1738 | Garlic32, 1739 | Tls, 1740 | Sni, 1741 | Noise, 1742 | Shs, 1743 | Quic, 1744 | QuicV1, 1745 | Webtransport, 1746 | Certhash, 1747 | Ws, 1748 | Wss, 1749 | P2pWebsocketStar, 1750 | Http, 1751 | Swhid1Snp, 1752 | Json, 1753 | Messagepack, 1754 | Car, 1755 | IpnsRecord, 1756 | Libp2pPeerRecord, 1757 | Libp2pRelayRsvp, 1758 | Memorytransport, 1759 | CarIndexSorted, 1760 | CarMultihashIndexSorted, 1761 | TransportBitswap, 1762 | TransportGraphsyncFilecoinv1, 1763 | TransportIpfsGatewayHttp, 1764 | Multidid, 1765 | Sha2_256Trunc254Padded, 1766 | Sha2_224, 1767 | Sha2_512_224, 1768 | Sha2_512_256, 1769 | Murmur3X64_128, 1770 | Ripemd128, 1771 | Ripemd160, 1772 | Ripemd256, 1773 | Ripemd320, 1774 | X11, 1775 | P256Pub, 1776 | P384Pub, 1777 | P521Pub, 1778 | Ed448Pub, 1779 | X448Pub, 1780 | RsaPub, 1781 | Sm2Pub, 1782 | Ed25519Priv, 1783 | Secp256k1Priv, 1784 | X25519Priv, 1785 | Sr25519Priv, 1786 | RsaPriv, 1787 | P256Priv, 1788 | P384Priv, 1789 | P521Priv, 1790 | Kangarootwelve, 1791 | AesGcm256, 1792 | Silverpine, 1793 | Sm3_256, 1794 | Sha256a, 1795 | Blake2b8, 1796 | Blake2b16, 1797 | Blake2b24, 1798 | Blake2b32, 1799 | Blake2b40, 1800 | Blake2b48, 1801 | Blake2b56, 1802 | Blake2b64, 1803 | Blake2b72, 1804 | Blake2b80, 1805 | Blake2b88, 1806 | Blake2b96, 1807 | Blake2b104, 1808 | Blake2b112, 1809 | Blake2b120, 1810 | Blake2b128, 1811 | Blake2b136, 1812 | Blake2b144, 1813 | Blake2b152, 1814 | Blake2b160, 1815 | Blake2b168, 1816 | Blake2b176, 1817 | Blake2b184, 1818 | Blake2b192, 1819 | Blake2b200, 1820 | Blake2b208, 1821 | Blake2b216, 1822 | Blake2b224, 1823 | Blake2b232, 1824 | Blake2b240, 1825 | Blake2b248, 1826 | Blake2b256, 1827 | Blake2b264, 1828 | Blake2b272, 1829 | Blake2b280, 1830 | Blake2b288, 1831 | Blake2b296, 1832 | Blake2b304, 1833 | Blake2b312, 1834 | Blake2b320, 1835 | Blake2b328, 1836 | Blake2b336, 1837 | Blake2b344, 1838 | Blake2b352, 1839 | Blake2b360, 1840 | Blake2b368, 1841 | Blake2b376, 1842 | Blake2b384, 1843 | Blake2b392, 1844 | Blake2b400, 1845 | Blake2b408, 1846 | Blake2b416, 1847 | Blake2b424, 1848 | Blake2b432, 1849 | Blake2b440, 1850 | Blake2b448, 1851 | Blake2b456, 1852 | Blake2b464, 1853 | Blake2b472, 1854 | Blake2b480, 1855 | Blake2b488, 1856 | Blake2b496, 1857 | Blake2b504, 1858 | Blake2b512, 1859 | Blake2s8, 1860 | Blake2s16, 1861 | Blake2s24, 1862 | Blake2s32, 1863 | Blake2s40, 1864 | Blake2s48, 1865 | Blake2s56, 1866 | Blake2s64, 1867 | Blake2s72, 1868 | Blake2s80, 1869 | Blake2s88, 1870 | Blake2s96, 1871 | Blake2s104, 1872 | Blake2s112, 1873 | Blake2s120, 1874 | Blake2s128, 1875 | Blake2s136, 1876 | Blake2s144, 1877 | Blake2s152, 1878 | Blake2s160, 1879 | Blake2s168, 1880 | Blake2s176, 1881 | Blake2s184, 1882 | Blake2s192, 1883 | Blake2s200, 1884 | Blake2s208, 1885 | Blake2s216, 1886 | Blake2s224, 1887 | Blake2s232, 1888 | Blake2s240, 1889 | Blake2s248, 1890 | Blake2s256, 1891 | Skein256_8, 1892 | Skein256_16, 1893 | Skein256_24, 1894 | Skein256_32, 1895 | Skein256_40, 1896 | Skein256_48, 1897 | Skein256_56, 1898 | Skein256_64, 1899 | Skein256_72, 1900 | Skein256_80, 1901 | Skein256_88, 1902 | Skein256_96, 1903 | Skein256_104, 1904 | Skein256_112, 1905 | Skein256_120, 1906 | Skein256_128, 1907 | Skein256_136, 1908 | Skein256_144, 1909 | Skein256_152, 1910 | Skein256_160, 1911 | Skein256_168, 1912 | Skein256_176, 1913 | Skein256_184, 1914 | Skein256_192, 1915 | Skein256_200, 1916 | Skein256_208, 1917 | Skein256_216, 1918 | Skein256_224, 1919 | Skein256_232, 1920 | Skein256_240, 1921 | Skein256_248, 1922 | Skein256_256, 1923 | Skein512_8, 1924 | Skein512_16, 1925 | Skein512_24, 1926 | Skein512_32, 1927 | Skein512_40, 1928 | Skein512_48, 1929 | Skein512_56, 1930 | Skein512_64, 1931 | Skein512_72, 1932 | Skein512_80, 1933 | Skein512_88, 1934 | Skein512_96, 1935 | Skein512_104, 1936 | Skein512_112, 1937 | Skein512_120, 1938 | Skein512_128, 1939 | Skein512_136, 1940 | Skein512_144, 1941 | Skein512_152, 1942 | Skein512_160, 1943 | Skein512_168, 1944 | Skein512_176, 1945 | Skein512_184, 1946 | Skein512_192, 1947 | Skein512_200, 1948 | Skein512_208, 1949 | Skein512_216, 1950 | Skein512_224, 1951 | Skein512_232, 1952 | Skein512_240, 1953 | Skein512_248, 1954 | Skein512_256, 1955 | Skein512_264, 1956 | Skein512_272, 1957 | Skein512_280, 1958 | Skein512_288, 1959 | Skein512_296, 1960 | Skein512_304, 1961 | Skein512_312, 1962 | Skein512_320, 1963 | Skein512_328, 1964 | Skein512_336, 1965 | Skein512_344, 1966 | Skein512_352, 1967 | Skein512_360, 1968 | Skein512_368, 1969 | Skein512_376, 1970 | Skein512_384, 1971 | Skein512_392, 1972 | Skein512_400, 1973 | Skein512_408, 1974 | Skein512_416, 1975 | Skein512_424, 1976 | Skein512_432, 1977 | Skein512_440, 1978 | Skein512_448, 1979 | Skein512_456, 1980 | Skein512_464, 1981 | Skein512_472, 1982 | Skein512_480, 1983 | Skein512_488, 1984 | Skein512_496, 1985 | Skein512_504, 1986 | Skein512_512, 1987 | Skein1024_8, 1988 | Skein1024_16, 1989 | Skein1024_24, 1990 | Skein1024_32, 1991 | Skein1024_40, 1992 | Skein1024_48, 1993 | Skein1024_56, 1994 | Skein1024_64, 1995 | Skein1024_72, 1996 | Skein1024_80, 1997 | Skein1024_88, 1998 | Skein1024_96, 1999 | Skein1024_104, 2000 | Skein1024_112, 2001 | Skein1024_120, 2002 | Skein1024_128, 2003 | Skein1024_136, 2004 | Skein1024_144, 2005 | Skein1024_152, 2006 | Skein1024_160, 2007 | Skein1024_168, 2008 | Skein1024_176, 2009 | Skein1024_184, 2010 | Skein1024_192, 2011 | Skein1024_200, 2012 | Skein1024_208, 2013 | Skein1024_216, 2014 | Skein1024_224, 2015 | Skein1024_232, 2016 | Skein1024_240, 2017 | Skein1024_248, 2018 | Skein1024_256, 2019 | Skein1024_264, 2020 | Skein1024_272, 2021 | Skein1024_280, 2022 | Skein1024_288, 2023 | Skein1024_296, 2024 | Skein1024_304, 2025 | Skein1024_312, 2026 | Skein1024_320, 2027 | Skein1024_328, 2028 | Skein1024_336, 2029 | Skein1024_344, 2030 | Skein1024_352, 2031 | Skein1024_360, 2032 | Skein1024_368, 2033 | Skein1024_376, 2034 | Skein1024_384, 2035 | Skein1024_392, 2036 | Skein1024_400, 2037 | Skein1024_408, 2038 | Skein1024_416, 2039 | Skein1024_424, 2040 | Skein1024_432, 2041 | Skein1024_440, 2042 | Skein1024_448, 2043 | Skein1024_456, 2044 | Skein1024_464, 2045 | Skein1024_472, 2046 | Skein1024_480, 2047 | Skein1024_488, 2048 | Skein1024_496, 2049 | Skein1024_504, 2050 | Skein1024_512, 2051 | Skein1024_520, 2052 | Skein1024_528, 2053 | Skein1024_536, 2054 | Skein1024_544, 2055 | Skein1024_552, 2056 | Skein1024_560, 2057 | Skein1024_568, 2058 | Skein1024_576, 2059 | Skein1024_584, 2060 | Skein1024_592, 2061 | Skein1024_600, 2062 | Skein1024_608, 2063 | Skein1024_616, 2064 | Skein1024_624, 2065 | Skein1024_632, 2066 | Skein1024_640, 2067 | Skein1024_648, 2068 | Skein1024_656, 2069 | Skein1024_664, 2070 | Skein1024_672, 2071 | Skein1024_680, 2072 | Skein1024_688, 2073 | Skein1024_696, 2074 | Skein1024_704, 2075 | Skein1024_712, 2076 | Skein1024_720, 2077 | Skein1024_728, 2078 | Skein1024_736, 2079 | Skein1024_744, 2080 | Skein1024_752, 2081 | Skein1024_760, 2082 | Skein1024_768, 2083 | Skein1024_776, 2084 | Skein1024_784, 2085 | Skein1024_792, 2086 | Skein1024_800, 2087 | Skein1024_808, 2088 | Skein1024_816, 2089 | Skein1024_824, 2090 | Skein1024_832, 2091 | Skein1024_840, 2092 | Skein1024_848, 2093 | Skein1024_856, 2094 | Skein1024_864, 2095 | Skein1024_872, 2096 | Skein1024_880, 2097 | Skein1024_888, 2098 | Skein1024_896, 2099 | Skein1024_904, 2100 | Skein1024_912, 2101 | Skein1024_920, 2102 | Skein1024_928, 2103 | Skein1024_936, 2104 | Skein1024_944, 2105 | Skein1024_952, 2106 | Skein1024_960, 2107 | Skein1024_968, 2108 | Skein1024_976, 2109 | Skein1024_984, 2110 | Skein1024_992, 2111 | Skein1024_1000, 2112 | Skein1024_1008, 2113 | Skein1024_1016, 2114 | Skein1024_1024, 2115 | Xxh32, 2116 | Xxh64, 2117 | Xxh3_64, 2118 | Xxh3_128, 2119 | PoseidonBls12_381A2Fc1, 2120 | PoseidonBls12_381A2Fc1Sc, 2121 | Urdca2015Canon, 2122 | Ssz, 2123 | SszSha2_256Bmt, 2124 | JsonJcs, 2125 | Iscc, 2126 | ZeroxcertImprint256, 2127 | NonstandardSig, 2128 | Es256k, 2129 | Bls12381G1Sig, 2130 | Bls12381G2Sig, 2131 | Eddsa, 2132 | Eip191, 2133 | Jwk_jcsPub, 2134 | FilCommitmentUnsealed, 2135 | FilCommitmentSealed, 2136 | Plaintextv2, 2137 | HolochainAdrV0, 2138 | HolochainAdrV1, 2139 | HolochainKeyV0, 2140 | HolochainKeyV1, 2141 | HolochainSigV0, 2142 | HolochainSigV1, 2143 | SkynetNs, 2144 | ArweaveNs, 2145 | SubspaceNs, 2146 | KumandraNs, 2147 | Es256, 2148 | Es284, 2149 | Es512, 2150 | Rs256, 2151 | Scion, 2152 | } 2153 | 2154 | func (c Code) Tag() string { 2155 | switch c { 2156 | case Cidv1, 2157 | Cidv2, 2158 | Cidv3: 2159 | return "cid" 2160 | 2161 | case AesGcm256: 2162 | return "encryption" 2163 | 2164 | case FilCommitmentUnsealed, 2165 | FilCommitmentSealed: 2166 | return "filecoin" 2167 | 2168 | case Murmur3X64_64, 2169 | Murmur3_32, 2170 | Crc32, 2171 | Crc64Ecma, 2172 | Murmur3X64_128, 2173 | Sha256a, 2174 | Xxh32, 2175 | Xxh64, 2176 | Xxh3_64, 2177 | Xxh3_128: 2178 | return "hash" 2179 | 2180 | case HolochainAdrV0, 2181 | HolochainAdrV1, 2182 | HolochainKeyV0, 2183 | HolochainKeyV1, 2184 | HolochainSigV0, 2185 | HolochainSigV1: 2186 | return "holochain" 2187 | 2188 | case Cbor, 2189 | Raw, 2190 | DagPb, 2191 | DagCbor, 2192 | Libp2pKey, 2193 | GitRaw, 2194 | TorrentInfo, 2195 | TorrentFile, 2196 | LeofcoinBlock, 2197 | LeofcoinTx, 2198 | LeofcoinPr, 2199 | DagJose, 2200 | DagCose, 2201 | EthBlock, 2202 | EthBlockList, 2203 | EthTxTrie, 2204 | EthTx, 2205 | EthTxReceiptTrie, 2206 | EthTxReceipt, 2207 | EthStateTrie, 2208 | EthAccountSnapshot, 2209 | EthStorageTrie, 2210 | EthReceiptLogTrie, 2211 | EthReceiptLog, 2212 | BitcoinBlock, 2213 | BitcoinTx, 2214 | BitcoinWitnessCommitment, 2215 | ZcashBlock, 2216 | ZcashTx, 2217 | StellarBlock, 2218 | StellarTx, 2219 | DecredBlock, 2220 | DecredTx, 2221 | DashBlock, 2222 | DashTx, 2223 | SwarmManifest, 2224 | SwarmFeed, 2225 | Beeson, 2226 | DagJson, 2227 | Swhid1Snp, 2228 | Json, 2229 | Urdca2015Canon, 2230 | JsonJcs: 2231 | return "ipld" 2232 | 2233 | case Aes128, 2234 | Aes192, 2235 | Aes256, 2236 | Chacha128, 2237 | Chacha256, 2238 | Secp256k1Pub, 2239 | Bls12_381G1Pub, 2240 | Bls12_381G2Pub, 2241 | X25519Pub, 2242 | Ed25519Pub, 2243 | Bls12_381G1g2Pub, 2244 | Sr25519Pub, 2245 | P256Pub, 2246 | P384Pub, 2247 | P521Pub, 2248 | Ed448Pub, 2249 | X448Pub, 2250 | RsaPub, 2251 | Sm2Pub, 2252 | Ed25519Priv, 2253 | Secp256k1Priv, 2254 | X25519Priv, 2255 | Sr25519Priv, 2256 | RsaPriv, 2257 | P256Priv, 2258 | P384Priv, 2259 | P521Priv, 2260 | Jwk_jcsPub: 2261 | return "key" 2262 | 2263 | case Libp2pPeerRecord, 2264 | Libp2pRelayRsvp, 2265 | Memorytransport: 2266 | return "libp2p" 2267 | 2268 | case Ip4, 2269 | Tcp, 2270 | Dccp, 2271 | Ip6, 2272 | Ip6zone, 2273 | Ipcidr, 2274 | Dns, 2275 | Dns4, 2276 | Dns6, 2277 | Dnsaddr, 2278 | Sctp, 2279 | Udp, 2280 | P2pWebrtcStar, 2281 | P2pWebrtcDirect, 2282 | P2pStardust, 2283 | WebrtcDirect, 2284 | Webrtc, 2285 | P2pCircuit, 2286 | Udt, 2287 | Utp, 2288 | Unix, 2289 | Thread, 2290 | P2p, 2291 | Https, 2292 | Onion, 2293 | Onion3, 2294 | Garlic64, 2295 | Garlic32, 2296 | Tls, 2297 | Sni, 2298 | Noise, 2299 | Shs, 2300 | Quic, 2301 | QuicV1, 2302 | Webtransport, 2303 | Certhash, 2304 | Ws, 2305 | Wss, 2306 | P2pWebsocketStar, 2307 | Http, 2308 | Silverpine, 2309 | Plaintextv2, 2310 | Scion: 2311 | return "multiaddr" 2312 | 2313 | case Multicodec, 2314 | Multihash, 2315 | Multiaddr, 2316 | Multibase, 2317 | Varsig, 2318 | Caip50, 2319 | Multidid: 2320 | return "multiformat" 2321 | 2322 | case Identity, 2323 | Sha1, 2324 | Sha2_256, 2325 | Sha2_512, 2326 | Sha3_512, 2327 | Sha3_384, 2328 | Sha3_256, 2329 | Sha3_224, 2330 | Shake128, 2331 | Shake256, 2332 | Keccak224, 2333 | Keccak256, 2334 | Keccak384, 2335 | Keccak512, 2336 | Blake3, 2337 | Sha2_384, 2338 | DblSha2_256, 2339 | Md4, 2340 | Md5, 2341 | Sha2_256Trunc254Padded, 2342 | Sha2_224, 2343 | Sha2_512_224, 2344 | Sha2_512_256, 2345 | Ripemd128, 2346 | Ripemd160, 2347 | Ripemd256, 2348 | Ripemd320, 2349 | X11, 2350 | Kangarootwelve, 2351 | Sm3_256, 2352 | Blake2b8, 2353 | Blake2b16, 2354 | Blake2b24, 2355 | Blake2b32, 2356 | Blake2b40, 2357 | Blake2b48, 2358 | Blake2b56, 2359 | Blake2b64, 2360 | Blake2b72, 2361 | Blake2b80, 2362 | Blake2b88, 2363 | Blake2b96, 2364 | Blake2b104, 2365 | Blake2b112, 2366 | Blake2b120, 2367 | Blake2b128, 2368 | Blake2b136, 2369 | Blake2b144, 2370 | Blake2b152, 2371 | Blake2b160, 2372 | Blake2b168, 2373 | Blake2b176, 2374 | Blake2b184, 2375 | Blake2b192, 2376 | Blake2b200, 2377 | Blake2b208, 2378 | Blake2b216, 2379 | Blake2b224, 2380 | Blake2b232, 2381 | Blake2b240, 2382 | Blake2b248, 2383 | Blake2b256, 2384 | Blake2b264, 2385 | Blake2b272, 2386 | Blake2b280, 2387 | Blake2b288, 2388 | Blake2b296, 2389 | Blake2b304, 2390 | Blake2b312, 2391 | Blake2b320, 2392 | Blake2b328, 2393 | Blake2b336, 2394 | Blake2b344, 2395 | Blake2b352, 2396 | Blake2b360, 2397 | Blake2b368, 2398 | Blake2b376, 2399 | Blake2b384, 2400 | Blake2b392, 2401 | Blake2b400, 2402 | Blake2b408, 2403 | Blake2b416, 2404 | Blake2b424, 2405 | Blake2b432, 2406 | Blake2b440, 2407 | Blake2b448, 2408 | Blake2b456, 2409 | Blake2b464, 2410 | Blake2b472, 2411 | Blake2b480, 2412 | Blake2b488, 2413 | Blake2b496, 2414 | Blake2b504, 2415 | Blake2b512, 2416 | Blake2s8, 2417 | Blake2s16, 2418 | Blake2s24, 2419 | Blake2s32, 2420 | Blake2s40, 2421 | Blake2s48, 2422 | Blake2s56, 2423 | Blake2s64, 2424 | Blake2s72, 2425 | Blake2s80, 2426 | Blake2s88, 2427 | Blake2s96, 2428 | Blake2s104, 2429 | Blake2s112, 2430 | Blake2s120, 2431 | Blake2s128, 2432 | Blake2s136, 2433 | Blake2s144, 2434 | Blake2s152, 2435 | Blake2s160, 2436 | Blake2s168, 2437 | Blake2s176, 2438 | Blake2s184, 2439 | Blake2s192, 2440 | Blake2s200, 2441 | Blake2s208, 2442 | Blake2s216, 2443 | Blake2s224, 2444 | Blake2s232, 2445 | Blake2s240, 2446 | Blake2s248, 2447 | Blake2s256, 2448 | Skein256_8, 2449 | Skein256_16, 2450 | Skein256_24, 2451 | Skein256_32, 2452 | Skein256_40, 2453 | Skein256_48, 2454 | Skein256_56, 2455 | Skein256_64, 2456 | Skein256_72, 2457 | Skein256_80, 2458 | Skein256_88, 2459 | Skein256_96, 2460 | Skein256_104, 2461 | Skein256_112, 2462 | Skein256_120, 2463 | Skein256_128, 2464 | Skein256_136, 2465 | Skein256_144, 2466 | Skein256_152, 2467 | Skein256_160, 2468 | Skein256_168, 2469 | Skein256_176, 2470 | Skein256_184, 2471 | Skein256_192, 2472 | Skein256_200, 2473 | Skein256_208, 2474 | Skein256_216, 2475 | Skein256_224, 2476 | Skein256_232, 2477 | Skein256_240, 2478 | Skein256_248, 2479 | Skein256_256, 2480 | Skein512_8, 2481 | Skein512_16, 2482 | Skein512_24, 2483 | Skein512_32, 2484 | Skein512_40, 2485 | Skein512_48, 2486 | Skein512_56, 2487 | Skein512_64, 2488 | Skein512_72, 2489 | Skein512_80, 2490 | Skein512_88, 2491 | Skein512_96, 2492 | Skein512_104, 2493 | Skein512_112, 2494 | Skein512_120, 2495 | Skein512_128, 2496 | Skein512_136, 2497 | Skein512_144, 2498 | Skein512_152, 2499 | Skein512_160, 2500 | Skein512_168, 2501 | Skein512_176, 2502 | Skein512_184, 2503 | Skein512_192, 2504 | Skein512_200, 2505 | Skein512_208, 2506 | Skein512_216, 2507 | Skein512_224, 2508 | Skein512_232, 2509 | Skein512_240, 2510 | Skein512_248, 2511 | Skein512_256, 2512 | Skein512_264, 2513 | Skein512_272, 2514 | Skein512_280, 2515 | Skein512_288, 2516 | Skein512_296, 2517 | Skein512_304, 2518 | Skein512_312, 2519 | Skein512_320, 2520 | Skein512_328, 2521 | Skein512_336, 2522 | Skein512_344, 2523 | Skein512_352, 2524 | Skein512_360, 2525 | Skein512_368, 2526 | Skein512_376, 2527 | Skein512_384, 2528 | Skein512_392, 2529 | Skein512_400, 2530 | Skein512_408, 2531 | Skein512_416, 2532 | Skein512_424, 2533 | Skein512_432, 2534 | Skein512_440, 2535 | Skein512_448, 2536 | Skein512_456, 2537 | Skein512_464, 2538 | Skein512_472, 2539 | Skein512_480, 2540 | Skein512_488, 2541 | Skein512_496, 2542 | Skein512_504, 2543 | Skein512_512, 2544 | Skein1024_8, 2545 | Skein1024_16, 2546 | Skein1024_24, 2547 | Skein1024_32, 2548 | Skein1024_40, 2549 | Skein1024_48, 2550 | Skein1024_56, 2551 | Skein1024_64, 2552 | Skein1024_72, 2553 | Skein1024_80, 2554 | Skein1024_88, 2555 | Skein1024_96, 2556 | Skein1024_104, 2557 | Skein1024_112, 2558 | Skein1024_120, 2559 | Skein1024_128, 2560 | Skein1024_136, 2561 | Skein1024_144, 2562 | Skein1024_152, 2563 | Skein1024_160, 2564 | Skein1024_168, 2565 | Skein1024_176, 2566 | Skein1024_184, 2567 | Skein1024_192, 2568 | Skein1024_200, 2569 | Skein1024_208, 2570 | Skein1024_216, 2571 | Skein1024_224, 2572 | Skein1024_232, 2573 | Skein1024_240, 2574 | Skein1024_248, 2575 | Skein1024_256, 2576 | Skein1024_264, 2577 | Skein1024_272, 2578 | Skein1024_280, 2579 | Skein1024_288, 2580 | Skein1024_296, 2581 | Skein1024_304, 2582 | Skein1024_312, 2583 | Skein1024_320, 2584 | Skein1024_328, 2585 | Skein1024_336, 2586 | Skein1024_344, 2587 | Skein1024_352, 2588 | Skein1024_360, 2589 | Skein1024_368, 2590 | Skein1024_376, 2591 | Skein1024_384, 2592 | Skein1024_392, 2593 | Skein1024_400, 2594 | Skein1024_408, 2595 | Skein1024_416, 2596 | Skein1024_424, 2597 | Skein1024_432, 2598 | Skein1024_440, 2599 | Skein1024_448, 2600 | Skein1024_456, 2601 | Skein1024_464, 2602 | Skein1024_472, 2603 | Skein1024_480, 2604 | Skein1024_488, 2605 | Skein1024_496, 2606 | Skein1024_504, 2607 | Skein1024_512, 2608 | Skein1024_520, 2609 | Skein1024_528, 2610 | Skein1024_536, 2611 | Skein1024_544, 2612 | Skein1024_552, 2613 | Skein1024_560, 2614 | Skein1024_568, 2615 | Skein1024_576, 2616 | Skein1024_584, 2617 | Skein1024_592, 2618 | Skein1024_600, 2619 | Skein1024_608, 2620 | Skein1024_616, 2621 | Skein1024_624, 2622 | Skein1024_632, 2623 | Skein1024_640, 2624 | Skein1024_648, 2625 | Skein1024_656, 2626 | Skein1024_664, 2627 | Skein1024_672, 2628 | Skein1024_680, 2629 | Skein1024_688, 2630 | Skein1024_696, 2631 | Skein1024_704, 2632 | Skein1024_712, 2633 | Skein1024_720, 2634 | Skein1024_728, 2635 | Skein1024_736, 2636 | Skein1024_744, 2637 | Skein1024_752, 2638 | Skein1024_760, 2639 | Skein1024_768, 2640 | Skein1024_776, 2641 | Skein1024_784, 2642 | Skein1024_792, 2643 | Skein1024_800, 2644 | Skein1024_808, 2645 | Skein1024_816, 2646 | Skein1024_824, 2647 | Skein1024_832, 2648 | Skein1024_840, 2649 | Skein1024_848, 2650 | Skein1024_856, 2651 | Skein1024_864, 2652 | Skein1024_872, 2653 | Skein1024_880, 2654 | Skein1024_888, 2655 | Skein1024_896, 2656 | Skein1024_904, 2657 | Skein1024_912, 2658 | Skein1024_920, 2659 | Skein1024_928, 2660 | Skein1024_936, 2661 | Skein1024_944, 2662 | Skein1024_952, 2663 | Skein1024_960, 2664 | Skein1024_968, 2665 | Skein1024_976, 2666 | Skein1024_984, 2667 | Skein1024_992, 2668 | Skein1024_1000, 2669 | Skein1024_1008, 2670 | Skein1024_1016, 2671 | Skein1024_1024, 2672 | PoseidonBls12_381A2Fc1, 2673 | PoseidonBls12_381A2Fc1Sc, 2674 | SszSha2_256Bmt: 2675 | return "multihash" 2676 | 2677 | case Path, 2678 | Lbry, 2679 | Streamid, 2680 | Ipld, 2681 | Ipfs, 2682 | Swarm, 2683 | Ipns, 2684 | Zeronet, 2685 | Dnslink, 2686 | SkynetNs, 2687 | ArweaveNs, 2688 | SubspaceNs, 2689 | KumandraNs: 2690 | return "namespace" 2691 | 2692 | case Protobuf, 2693 | Rlp, 2694 | Bencode, 2695 | Messagepack, 2696 | Car, 2697 | IpnsRecord, 2698 | CarIndexSorted, 2699 | CarMultihashIndexSorted, 2700 | Ssz: 2701 | return "serialization" 2702 | 2703 | case Iscc: 2704 | return "softhash" 2705 | 2706 | case TransportBitswap, 2707 | TransportGraphsyncFilecoinv1, 2708 | TransportIpfsGatewayHttp: 2709 | return "transport" 2710 | 2711 | case NonstandardSig, 2712 | Es256k, 2713 | Bls12381G1Sig, 2714 | Bls12381G2Sig, 2715 | Eddsa, 2716 | Eip191, 2717 | Es256, 2718 | Es284, 2719 | Es512, 2720 | Rs256: 2721 | return "varsig" 2722 | 2723 | case ZeroxcertImprint256: 2724 | return "zeroxcert" 2725 | default: 2726 | return "" 2727 | } 2728 | } 2729 | -------------------------------------------------------------------------------- /code_test.go: -------------------------------------------------------------------------------- 1 | package multicodec_test 2 | 3 | import ( 4 | "flag" 5 | "fmt" 6 | "io" 7 | "strings" 8 | "testing" 9 | 10 | "github.com/multiformats/go-multicodec" 11 | ) 12 | 13 | func TestFlagValue(t *testing.T) { 14 | t.Parallel() 15 | 16 | tests := []struct { 17 | name string 18 | in string 19 | 20 | want multicodec.Code 21 | wantErr string 22 | }{ 23 | { 24 | name: "EmptyString", 25 | in: "", 26 | 27 | wantErr: "unknown multicodec", 28 | }, 29 | { 30 | name: "Name", 31 | in: "sha1", 32 | 33 | want: multicodec.Sha1, 34 | }, 35 | { 36 | name: "NumberHex", 37 | in: "0x11", 38 | 39 | want: multicodec.Sha1, 40 | }, 41 | { 42 | name: "NumberDecimal", 43 | in: "17", 44 | 45 | want: multicodec.Sha1, 46 | }, 47 | { 48 | name: "ReservedNumber", 49 | in: "0x300012", 50 | 51 | want: multicodec.Code(0x300012), 52 | }, 53 | 54 | { 55 | name: "UnknownName", 56 | in: "some-name", 57 | 58 | wantErr: "unknown multicodec", 59 | }, 60 | { 61 | name: "UnknownNumber", 62 | in: "0x1000", 63 | 64 | wantErr: "unknown multicodec", 65 | }, 66 | } 67 | for _, test := range tests { 68 | test := test 69 | t.Run(test.name, func(t *testing.T) { 70 | t.Parallel() 71 | 72 | fs := flag.NewFlagSet("", flag.ContinueOnError) 73 | fs.SetOutput(io.Discard) 74 | 75 | var code multicodec.Code 76 | fs.Var(&code, "multicodec", "") 77 | 78 | err := fs.Parse([]string{"--multicodec=" + test.in}) 79 | if test.wantErr == "" { 80 | if err != nil { 81 | t.Fatalf("unexpected error: %v", err) 82 | } 83 | } else { 84 | gotErr := fmt.Sprint(err) 85 | if !strings.Contains(gotErr, test.wantErr) { 86 | t.Fatalf("want error %q, got: %v", test.wantErr, err) 87 | } 88 | } 89 | }) 90 | } 91 | 92 | } 93 | 94 | func TestKnownCodes(t *testing.T) { 95 | t.Parallel() 96 | 97 | codes := multicodec.KnownCodes() 98 | if len(codes) < 100 { 99 | t.Fatalf("expected list to have at least 100 elements") 100 | } 101 | seen := map[multicodec.Code]bool{} 102 | missing := map[multicodec.Code]bool{ 103 | multicodec.Identity: true, 104 | multicodec.Cidv2: true, 105 | multicodec.Path: true, 106 | multicodec.Md5: true, 107 | } 108 | for _, code := range codes { 109 | // Ipfs is deprecated in favor of Libp2p, and they share the same value. 110 | if seen[code] && code != multicodec.Ipfs { 111 | t.Errorf("duplicate code: %v", code) 112 | } 113 | seen[code] = true 114 | if missing[code] { 115 | delete(missing, code) 116 | } 117 | } 118 | for code := range missing { 119 | t.Errorf("missing code: %v", code) 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /gen.go: -------------------------------------------------------------------------------- 1 | //go:build ignore 2 | 3 | package main 4 | 5 | import ( 6 | "encoding/csv" 7 | "io" 8 | "log" 9 | "os" 10 | "sort" 11 | "strings" 12 | "text/template" 13 | "unicode" 14 | "unicode/utf8" 15 | ) 16 | 17 | const codeTemplate = ` 18 | // Code generated by gen.go; DO NOT EDIT. 19 | 20 | package multicodec 21 | 22 | const ( 23 | {{- range .Entries }} 24 | // {{ if .IsDeprecated }}Deprecated: {{ end }}{{ .ConstName }} is a {{ .Status }} code tagged "{{ .Tag }}"{{ if .Description }} and described by: {{ .Description }}{{ end }}. 25 | {{ .ConstName }} Code = {{ .Code }} // {{ .Name }} 26 | {{ end -}} 27 | ) 28 | 29 | var knownCodes = []Code{ 30 | {{- range .Entries }} 31 | {{ .ConstName }}, 32 | {{- end }} 33 | } 34 | 35 | func (c Code) Tag() string { 36 | switch c { 37 | {{- range $i, $tag := .Tags }} 38 | case {{ $first := true }} 39 | {{- range $.Entries }} 40 | {{- /* we don't include the only deprecated code, as it's a duplicate */ -}} 41 | {{- if not .IsDeprecated }}{{ if eq .Tag $tag }} 42 | {{- if not $first }}, 43 | {{ end }}{{ $first = false -}} 44 | {{ .ConstName -}} 45 | {{ end }}{{ end -}} 46 | {{ end -}} 47 | : 48 | return {{ printf "%q" $tag }} 49 | {{ end -}} 50 | default: 51 | return "" 52 | } 53 | } 54 | ` 55 | 56 | type tableEntry struct { 57 | Name string 58 | Tag string 59 | Code string 60 | Status string 61 | Description string 62 | } 63 | 64 | func (c tableEntry) IsDeprecated() bool { 65 | return strings.Contains(c.Description, "deprecated") 66 | } 67 | 68 | func (c tableEntry) ConstName() string { 69 | var b strings.Builder 70 | var last rune 71 | for _, part := range strings.Split(c.Name, "-") { 72 | first, firstSize := utf8.DecodeRuneInString(part) 73 | if unicode.IsNumber(last) && unicode.IsNumber(first) { 74 | // 123-456 should result in 123_456 for readability. 75 | b.WriteByte('_') 76 | } 77 | b.WriteRune(unicode.ToUpper(first)) 78 | b.WriteString(part[firstSize:]) 79 | last, _ = utf8.DecodeLastRuneInString(part) 80 | } 81 | return b.String() 82 | } 83 | 84 | func main() { 85 | f, err := os.Open("multicodec/table.csv") 86 | if err != nil { 87 | log.Fatal(err) 88 | } 89 | defer f.Close() 90 | 91 | var tmplData struct { 92 | Entries []tableEntry 93 | Tags []string 94 | } 95 | tags := make(map[string]bool) 96 | csvReader := csv.NewReader(f) 97 | csvReader.Read() // skip the header line 98 | for { 99 | record, err := csvReader.Read() 100 | if err == io.EOF { 101 | break 102 | } 103 | if err != nil { 104 | log.Fatal(err) 105 | } 106 | entry := tableEntry{ 107 | Name: strings.TrimSpace(record[0]), 108 | Tag: strings.TrimSpace(record[1]), 109 | Code: strings.TrimSpace(record[2]), 110 | Status: strings.TrimSpace(record[3]), 111 | Description: strings.TrimSpace(record[4]), 112 | } 113 | tmplData.Entries = append(tmplData.Entries, entry) 114 | tags[entry.Tag] = true // use a map to deduplicate 115 | } 116 | for tag := range tags { 117 | tmplData.Tags = append(tmplData.Tags, tag) 118 | } 119 | sort.Strings(tmplData.Tags) 120 | 121 | tmpl, err := template.New(""). 122 | Funcs(template.FuncMap{"ToTitle": strings.Title}). 123 | Parse(codeTemplate) 124 | if err != nil { 125 | log.Fatal(err) 126 | } 127 | 128 | out, err := os.Create("code_table.go") 129 | if err != nil { 130 | log.Fatal(err) 131 | } 132 | defer out.Close() 133 | 134 | if err := tmpl.Execute(out, tmplData); err != nil { 135 | log.Fatal(err) 136 | } 137 | } 138 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/multiformats/go-multicodec 2 | 3 | go 1.23 4 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multiformats/go-multicodec/4f995d468f6117724ad8408279902fd23f2f262b/go.sum -------------------------------------------------------------------------------- /version.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "v0.9.0" 3 | } 4 | --------------------------------------------------------------------------------