Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions .github/maven-central-settings.xml

This file was deleted.

3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ To include Copper Multicodec in your project, add the following dependency to yo
<dependency>
<groupId>com.apicatalog</groupId>
<artifactId>copper-multicodec</artifactId>
<version>1.1.0</version>
<version>2.0.0</version>
</dependency>
```

Expand Down Expand Up @@ -138,4 +138,3 @@ Fork and clone the project repository.
- [Multicodec](https://github.com/multiformats/multicodec)
- [Multihash](https://github.com/multiformats/multihash)
- [unsigned-varint](https://github.com/multiformats/unsigned-varint)

4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.apicatalog</groupId>
<artifactId>copper-multicodec</artifactId>
<version>1.1.0</version>
<version>2.0.0</version>
<packaging>jar</packaging>
<url>https://github.com/filip26/copper-multicodec</url>
<scm>
Expand All @@ -25,7 +25,7 @@
<junit.version>5.13.4</junit.version>
</properties>

<name>Copper Multcodec</name>
<name>Copper Multicodec</name>

<description>
Multicodec &amp; Multihash API, Registry
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.apicatalog.multicodec.Multicodec.Tag;
import com.apicatalog.multicodec.Multicodec;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class CidCodec {

/** Cid: cidv1, CIDv1, status = permanent, code = 0x1 */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.apicatalog.multicodec.Multicodec.Tag;
import com.apicatalog.multicodec.Multicodec;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class HashCodec {

/** Hash: crc32, CRC-32 non-cryptographic hash algorithm (IEEE 802.3), status = draft, code = 0x132 */
Expand Down
18 changes: 17 additions & 1 deletion src/main/java/com/apicatalog/multicodec/codec/KeyCodec.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.apicatalog.multicodec.Multicodec.Tag;
import com.apicatalog.multicodec.Multicodec;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class KeyCodec {

/** Key: aes-128, 128-bit AES symmetric key, status = draft, code = 0xa0 */
Expand Down Expand Up @@ -93,6 +93,15 @@ public class KeyCodec {
/** Key: lamport-sha3-512-pub, Lamport public key based on SHA3-512, status = draft, code = 0x1a14 */
public static final Multicodec LAMPORT_SHA3_512_PUBLIC_KEY = Multicodec.of("lamport-sha3-512-pub", Tag.Key, 0x1a14, Multicodec.Status.Draft);

/** Key: mlkem-1024-pub, ML-KEM 1024 public key; as specified by FIPS 203, status = draft, code = 0x120d */
public static final Multicodec MLKEM_1024_PUBLIC_KEY = Multicodec.of("mlkem-1024-pub", Tag.Key, 0x120d, Multicodec.Status.Draft);

/** Key: mlkem-512-pub, ML-KEM 512 public key; as specified by FIPS 203, status = draft, code = 0x120b */
public static final Multicodec MLKEM_512_PUBLIC_KEY = Multicodec.of("mlkem-512-pub", Tag.Key, 0x120b, Multicodec.Status.Draft);

/** Key: mlkem-768-pub, ML-KEM 768 public key; as specified by FIPS 203, status = draft, code = 0x120c */
public static final Multicodec MLKEM_768_PUBLIC_KEY = Multicodec.of("mlkem-768-pub", Tag.Key, 0x120c, Multicodec.Status.Draft);

/** Key: p256-priv, P-256 private key, status = draft, code = 0x1306 */
public static final Multicodec P256_PRIVATE_KEY = Multicodec.of("p256-priv", Tag.Key, 0x1306, Multicodec.Status.Draft);

Expand Down Expand Up @@ -123,6 +132,9 @@ public class KeyCodec {
/** Key: secp256k1-pub, Secp256k1 public key (compressed), status = draft, code = 0xe7 */
public static final Multicodec SECP256K1_PUBLIC_KEY = Multicodec.of("secp256k1-pub", Tag.Key, 0xe7, Multicodec.Status.Draft);

/** Key: sm2-priv, SM2 private key, status = draft, code = 0x1310 */
public static final Multicodec SM2_PRIVATE_KEY = Multicodec.of("sm2-priv", Tag.Key, 0x1310, Multicodec.Status.Draft);

/** Key: sm2-pub, SM2 public key (compressed), status = draft, code = 0x1206 */
public static final Multicodec SM2_PUBLIC_KEY = Multicodec.of("sm2-pub", Tag.Key, 0x1206, Multicodec.Status.Draft);

Expand Down Expand Up @@ -172,6 +184,9 @@ public class KeyCodec {
ALL.put(LAMPORT_SHA3_512_PRIVATE_KEY.code(), LAMPORT_SHA3_512_PRIVATE_KEY);
ALL.put(LAMPORT_SHA3_512_PRIVATE_SHARE_KEY.code(), LAMPORT_SHA3_512_PRIVATE_SHARE_KEY);
ALL.put(LAMPORT_SHA3_512_PUBLIC_KEY.code(), LAMPORT_SHA3_512_PUBLIC_KEY);
ALL.put(MLKEM_1024_PUBLIC_KEY.code(), MLKEM_1024_PUBLIC_KEY);
ALL.put(MLKEM_512_PUBLIC_KEY.code(), MLKEM_512_PUBLIC_KEY);
ALL.put(MLKEM_768_PUBLIC_KEY.code(), MLKEM_768_PUBLIC_KEY);
ALL.put(P256_PRIVATE_KEY.code(), P256_PRIVATE_KEY);
ALL.put(P256_PUBLIC_KEY.code(), P256_PUBLIC_KEY);
ALL.put(P384_PRIVATE_KEY.code(), P384_PRIVATE_KEY);
Expand All @@ -182,6 +197,7 @@ public class KeyCodec {
ALL.put(RSA_PUBLIC_KEY.code(), RSA_PUBLIC_KEY);
ALL.put(SECP256K1_PRIVATE_KEY.code(), SECP256K1_PRIVATE_KEY);
ALL.put(SECP256K1_PUBLIC_KEY.code(), SECP256K1_PUBLIC_KEY);
ALL.put(SM2_PRIVATE_KEY.code(), SM2_PRIVATE_KEY);
ALL.put(SM2_PUBLIC_KEY.code(), SM2_PUBLIC_KEY);
ALL.put(SR25519_PRIVATE_KEY.code(), SR25519_PRIVATE_KEY);
ALL.put(SR25519_PUBLIC_KEY.code(), SR25519_PUBLIC_KEY);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.apicatalog.multicodec.Multicodec.Tag;
import com.apicatalog.multicodec.Multicodec;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class MultiaddrCodec {

/** Multiaddr: certhash, TLS certificate's fingerprint as a multihash, status = draft, code = 0x1d2 */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
import com.apicatalog.multicodec.Multicodec.Tag;
import com.apicatalog.multicodec.Multicodec;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class MultiformatCodec {

/** Multiformat: caip-50, CAIP-50 multi-chain account id, status = draft, code = 0xca */
/** Multiformat: caip-50, CAIP-50 multi-chain account ID, status = draft, code = 0xca */
public static final Multicodec CAIP_50 = Multicodec.of("caip-50", Tag.Multiformat, 0xca, Multicodec.Status.Draft);

/** Multiformat: multiaddr, status = draft, code = 0x32 */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,15 @@
import com.apicatalog.multicodec.Multicodec;
import com.apicatalog.multihash.Multihash;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class MultihashCodec {

/** Multihash: bcrypt-pbkdf, Bcrypt-PBKDF key derivation function, status = draft, code = 0xd00d */
public static final Multihash BCRYPT_PBKDF = Multihash.of("bcrypt-pbkdf", 0xd00d, Multicodec.Status.Draft);

/** Multihash: bittorrent-pieces-root, BitTorrent v2 pieces root hash., status = draft, code = 0xb702 */
public static final Multihash BITTORRENT_PIECES_ROOT = Multihash.of("bittorrent-pieces-root", 0xb702, Multicodec.Status.Draft);

/** Multihash: blake2b-104, status = draft, code = 0xb20d */
public static final Multihash BLAKE2B_104 = Multihash.of("blake2b-104", 0xb20d, Multicodec.Status.Draft);

Expand Down Expand Up @@ -306,6 +309,12 @@ public class MultihashCodec {
/** Multihash: dbl-sha2-256, status = draft, code = 0x56 */
public static final Multihash DBL_SHA2_256 = Multihash.of("dbl-sha2-256", 0x56, Multicodec.Status.Draft);

/** Multihash: ed2k, eDonkey2000 hash., status = draft, code = 0xed20 */
public static final Multihash ED2K = Multihash.of("ed2k", 0xed20, Multicodec.Status.Draft);

/** Multihash: fr32-sha256-trunc254-padbintree, A balanced binary tree hash used in Filecoin Piece Commitments as described in FRC-0069, status = draft, code = 0x1011 */
public static final Multihash FR32_SHA256_TRUNC254_PADBINTREE = Multihash.of("fr32-sha256-trunc254-padbintree", 0x1011, Multicodec.Status.Draft);

/** Multihash: identity, raw binary, status = permanent, code = 0x0 */
public static final Multihash IDENTITY = Multihash.of("identity", 0x0, Multicodec.Status.Permanent);

Expand Down Expand Up @@ -1078,6 +1087,7 @@ public class MultihashCodec {

static {
ALL.put(BCRYPT_PBKDF.code(), BCRYPT_PBKDF);
ALL.put(BITTORRENT_PIECES_ROOT.code(), BITTORRENT_PIECES_ROOT);
ALL.put(BLAKE2B_104.code(), BLAKE2B_104);
ALL.put(BLAKE2B_112.code(), BLAKE2B_112);
ALL.put(BLAKE2B_120.code(), BLAKE2B_120);
Expand Down Expand Up @@ -1176,6 +1186,8 @@ public class MultihashCodec {
ALL.put(BLAKE2S_96.code(), BLAKE2S_96);
ALL.put(BLAKE3.code(), BLAKE3);
ALL.put(DBL_SHA2_256.code(), DBL_SHA2_256);
ALL.put(ED2K.code(), ED2K);
ALL.put(FR32_SHA256_TRUNC254_PADBINTREE.code(), FR32_SHA256_TRUNC254_PADBINTREE);
ALL.put(IDENTITY.code(), IDENTITY);
ALL.put(KANGAROOTWELVE.code(), KANGAROOTWELVE);
ALL.put(KECCAK_224.code(), KECCAK_224);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.apicatalog.multicodec.Multicodec.Tag;
import com.apicatalog.multicodec.Multicodec;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class NamespaceCodec {

/** Namespace: arweave-ns, Arweave Namespace, status = draft, code = 0xb29910 */
Expand Down Expand Up @@ -36,7 +36,7 @@ public class NamespaceCodec {
/** Namespace: skynet-ns, Skynet Namespace, status = draft, code = 0xb19910 */
public static final Multicodec SKYNET_NS = Multicodec.of("skynet-ns", Tag.Namespace, 0xb19910, Multicodec.Status.Draft);

/** Namespace: streamid, Ceramic Stream Id, status = draft, code = 0xce */
/** Namespace: streamid, Ceramic Stream ID, status = draft, code = 0xce */
public static final Multicodec STREAMID = Multicodec.of("streamid", Tag.Namespace, 0xce, Multicodec.Status.Draft);

/** Namespace: subspace-ns, Subspace Network Namespace, status = draft, code = 0xb39910 */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.apicatalog.multicodec.Multicodec.Tag;
import com.apicatalog.multicodec.Multicodec;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class SerializationCodec {

/** Serialization: bencode, bencode, status = draft, code = 0x63 */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,15 @@
import com.apicatalog.multicodec.Multicodec.Tag;
import com.apicatalog.multicodec.Multicodec;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class TransportCodec {

/** Transport: transport-bitswap, Bitswap datatransfer, status = draft, code = 0x900 */
public static final Multicodec TRANSPORT_BITSWAP = Multicodec.of("transport-bitswap", Tag.Transport, 0x900, Multicodec.Status.Draft);

/** Transport: transport-filecoin-piece-http, HTTP piece retrieval from Filecoin storage provider; https://github.com/filecoin-project/FIPs/blob/master/FRCs/frc-0066.md, status = draft, code = 0x930 */
public static final Multicodec TRANSPORT_FILECOIN_PIECE_HTTP = Multicodec.of("transport-filecoin-piece-http", Tag.Transport, 0x930, Multicodec.Status.Draft);

/** Transport: transport-graphsync-filecoinv1, Filecoin graphsync datatransfer, status = draft, code = 0x910 */
public static final Multicodec TRANSPORT_GRAPHSYNC_FILECOINV1 = Multicodec.of("transport-graphsync-filecoinv1", Tag.Transport, 0x910, Multicodec.Status.Draft);

Expand All @@ -22,6 +25,7 @@ public class TransportCodec {

static {
ALL.put(TRANSPORT_BITSWAP.code(), TRANSPORT_BITSWAP);
ALL.put(TRANSPORT_FILECOIN_PIECE_HTTP.code(), TRANSPORT_FILECOIN_PIECE_HTTP);
ALL.put(TRANSPORT_GRAPHSYNC_FILECOINV1.code(), TRANSPORT_GRAPHSYNC_FILECOINV1);
ALL.put(TRANSPORT_IPFS_GATEWAY_HTTP.code(), TRANSPORT_IPFS_GATEWAY_HTTP);
}
Expand Down
22 changes: 11 additions & 11 deletions src/main/java/com/apicatalog/multicodec/codec/VarsigCodec.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
import com.apicatalog.multicodec.Multicodec.Tag;
import com.apicatalog.multicodec.Multicodec;

/** Multicodec Registry - generated: Wed Oct 02 16:27:05 CEST 2024 */
/** Multicodec Registry - generated: Tue Jul 29 16:54:27 CEST 2025 */
public class VarsigCodec {

/** Varsig: bls-12381-g1-sig, G1 signature for BLS-12381-G2, status = draft, code = 0xd0ea */
public static final Multicodec BLS_12381_G1_SIG = Multicodec.of("bls-12381-g1-sig", Tag.Varsig, 0xd0ea, Multicodec.Status.Draft);
/** Varsig: bls12_381-g1-sig, G1 signature for BLS12-381, status = draft, code = 0xd0ea */
public static final Multicodec BLS12_381_G1_SIG = Multicodec.of("bls12_381-g1-sig", Tag.Varsig, 0xd0ea, Multicodec.Status.Draft);

/** Varsig: bls-12381-g2-sig, G2 signature for BLS-12381-G1, status = draft, code = 0xd0eb */
public static final Multicodec BLS_12381_G2_SIG = Multicodec.of("bls-12381-g2-sig", Tag.Varsig, 0xd0eb, Multicodec.Status.Draft);
/** Varsig: bls12_381-g2-sig, G2 signature for BLS12-381, status = draft, code = 0xd0eb */
public static final Multicodec BLS12_381_G2_SIG = Multicodec.of("bls12_381-g2-sig", Tag.Varsig, 0xd0eb, Multicodec.Status.Draft);

/** Varsig: eddsa, Edwards-Curve Digital Signature Algorithm, status = draft, code = 0xd0ed */
public static final Multicodec EDDSA = Multicodec.of("eddsa", Tag.Varsig, 0xd0ed, Multicodec.Status.Draft);
Expand All @@ -24,11 +24,11 @@ public class VarsigCodec {
/** Varsig: es256, ES256 Signature Algorithm, status = draft, code = 0xd01200 */
public static final Multicodec ES256 = Multicodec.of("es256", Tag.Varsig, 0xd01200, Multicodec.Status.Draft);

/** Varsig: es256k, ES256K Siganture Algorithm (secp256k1), status = draft, code = 0xd0e7 */
/** Varsig: es256k, ES256K Signature Algorithm (secp256k1), status = draft, code = 0xd0e7 */
public static final Multicodec ES256K = Multicodec.of("es256k", Tag.Varsig, 0xd0e7, Multicodec.Status.Draft);

/** Varsig: es284, ES384 Signature Algorithm, status = draft, code = 0xd01201 */
public static final Multicodec ES284 = Multicodec.of("es284", Tag.Varsig, 0xd01201, Multicodec.Status.Draft);
/** Varsig: es384, ES384 Signature Algorithm, status = draft, code = 0xd01201 */
public static final Multicodec ES384 = Multicodec.of("es384", Tag.Varsig, 0xd01201, Multicodec.Status.Draft);

/** Varsig: es512, ES512 Signature Algorithm, status = draft, code = 0xd01202 */
public static final Multicodec ES512 = Multicodec.of("es512", Tag.Varsig, 0xd01202, Multicodec.Status.Draft);
Expand All @@ -42,13 +42,13 @@ public class VarsigCodec {
protected static final Map<Long,Multicodec> ALL = new TreeMap<>();

static {
ALL.put(BLS_12381_G1_SIG.code(), BLS_12381_G1_SIG);
ALL.put(BLS_12381_G2_SIG.code(), BLS_12381_G2_SIG);
ALL.put(BLS12_381_G1_SIG.code(), BLS12_381_G1_SIG);
ALL.put(BLS12_381_G2_SIG.code(), BLS12_381_G2_SIG);
ALL.put(EDDSA.code(), EDDSA);
ALL.put(EIP_191.code(), EIP_191);
ALL.put(ES256.code(), ES256);
ALL.put(ES256K.code(), ES256K);
ALL.put(ES284.code(), ES284);
ALL.put(ES384.code(), ES384);
ALL.put(ES512.code(), ES512);
ALL.put(NONSTANDARD_SIG.code(), NONSTANDARD_SIG);
ALL.put(RS256.code(), RS256);
Expand Down