@bcts/tags 1.0.0-alpha.20 → 1.0.0-alpha.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -1
- package/dist/index.cjs +4 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.iife.js +4 -0
- package/dist/index.iife.js.map +1 -1
- package/dist/index.mjs +4 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -21
- package/src/index.ts +4 -0
- package/src/tags-registry.ts +4 -0
package/LICENSE
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
Copyright © 2025 Blockchain Commons, LLC
|
|
2
|
-
Copyright © 2025-2026
|
|
2
|
+
Copyright © 2025-2026 Parity Technologies
|
|
3
|
+
|
|
3
4
|
|
|
4
5
|
Redistribution and use in source and binary forms, with or without modification,
|
|
5
6
|
are permitted provided that the following conditions are met:
|
package/dist/index.cjs
CHANGED
|
@@ -3,6 +3,10 @@ let _bcts_dcbor = require("@bcts/dcbor");
|
|
|
3
3
|
|
|
4
4
|
//#region src/tags-registry.ts
|
|
5
5
|
/**
|
|
6
|
+
* Copyright © 2023-2026 Blockchain Commons, LLC
|
|
7
|
+
* Copyright © 2025-2026 Parity Technologies
|
|
8
|
+
*
|
|
9
|
+
*
|
|
6
10
|
* CBOR Tags Registry
|
|
7
11
|
*
|
|
8
12
|
* This is a 1:1 port of the Rust bc-tags-rust implementation.
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../src/tags-registry.ts"],"sourcesContent":["/**\n * CBOR Tags Registry\n *\n * This is a 1:1 port of the Rust bc-tags-rust implementation.\n *\n * @see https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md\n *\n * As of August 13 2022, the [IANA registry of CBOR tags](https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml)\n * has the following low-numbered values available:\n *\n * One byte encoding: 6-15, 19-20\n * Two byte encoding: 48-51, 53, 55-60, 62, 88-95, 99, 102, 105-109, 113-119,\n * 128-255\n *\n * Tags in the range 0-23 require \"standards action\" for the IANA to recognize.\n * Tags in the range 24-32767 require a specification to reserve.\n * Tags in the range 24-255 only require two bytes to encode.\n * Higher numbered tags are first-come, first-served.\n */\n\nimport {\n type Tag,\n createTag,\n type TagsStore,\n getGlobalTagsStore,\n registerTagsIn as registerDcborTagsIn,\n} from \"@bcts/dcbor\";\n\n// ============================================================================\n// Standard IANA Tags (re-used from dcbor but defined here for completeness)\n// ============================================================================\n\nexport const URI: Tag = createTag(32, \"url\");\nexport const UUID: Tag = createTag(37, \"uuid\");\n\n// A previous version of the Envelope spec used tag #6.24 (\"Encoded CBOR Item\")\n// as the header for the Envelope `leaf` case. Unfortunately, this was not a\n// correct use of the tag, as the contents of #6.24 (RFC8949 §3.4.5.1) MUST\n// always be a byte string, while we were simply using it as a wrapper/header\n// for any dCBOR data item.\n//\n// https://www.rfc-editor.org/rfc/rfc8949.html#name-encoded-cbor-data-item\n//\n// The new leaf tag is #6.201, but we will still recognize #6.24 for backwards\n// compatibility.\n\n// The only two tags that Blockchain Commons has registered in the\n// \"Specification Required\" range are the two tags for \"Gordian Envelope\"\n// (#6.200) and \"dCBOR/Envelope Leaf\" (#6.201).\n\n// ============================================================================\n// Core Envelope tags.\n// ============================================================================\n\nexport const ENCODED_CBOR: Tag = createTag(24, \"encoded-cbor\");\nexport const ENVELOPE: Tag = createTag(200, \"envelope\");\nexport const LEAF: Tag = createTag(201, \"leaf\"); // dCBOR data item\nexport const JSON: Tag = createTag(262, \"json\"); // bstr containing UTF-8 JSON text\n\n// ============================================================================\n// Envelope extension tags\n// ============================================================================\n\nexport const KNOWN_VALUE: Tag = createTag(40000, \"known-value\");\nexport const DIGEST: Tag = createTag(40001, \"digest\");\nexport const ENCRYPTED: Tag = createTag(40002, \"encrypted\");\nexport const COMPRESSED: Tag = createTag(40003, \"compressed\");\n\n// ============================================================================\n// Tags for subtypes specific to Distributed Function Calls.\n// ============================================================================\n\nexport const REQUEST: Tag = createTag(40004, \"request\");\nexport const RESPONSE: Tag = createTag(40005, \"response\");\nexport const FUNCTION: Tag = createTag(40006, \"function\");\nexport const PARAMETER: Tag = createTag(40007, \"parameter\");\nexport const PLACEHOLDER: Tag = createTag(40008, \"placeholder\");\nexport const REPLACEMENT: Tag = createTag(40009, \"replacement\");\n\nexport const X25519_PRIVATE_KEY: Tag = createTag(40010, \"agreement-private-key\");\nexport const X25519_PUBLIC_KEY: Tag = createTag(40011, \"agreement-public-key\");\nexport const ARID: Tag = createTag(40012, \"arid\");\nexport const PRIVATE_KEYS: Tag = createTag(40013, \"crypto-prvkeys\");\nexport const NONCE: Tag = createTag(40014, \"nonce\");\nexport const PASSWORD: Tag = createTag(40015, \"password\");\nexport const PRIVATE_KEY_BASE: Tag = createTag(40016, \"crypto-prvkey-base\");\n\nexport const PUBLIC_KEYS: Tag = createTag(40017, \"crypto-pubkeys\");\nexport const SALT: Tag = createTag(40018, \"salt\");\nexport const SEALED_MESSAGE: Tag = createTag(40019, \"crypto-sealed\");\nexport const SIGNATURE: Tag = createTag(40020, \"signature\");\nexport const SIGNING_PRIVATE_KEY: Tag = createTag(40021, \"signing-private-key\");\nexport const SIGNING_PUBLIC_KEY: Tag = createTag(40022, \"signing-public-key\");\nexport const SYMMETRIC_KEY: Tag = createTag(40023, \"crypto-key\");\nexport const XID: Tag = createTag(40024, \"xid\");\nexport const REFERENCE: Tag = createTag(40025, \"reference\");\nexport const EVENT: Tag = createTag(40026, \"event\");\n\nexport const ENCRYPTED_KEY: Tag = createTag(40027, \"encrypted-key\");\nexport const MLKEM_PRIVATE_KEY: Tag = createTag(40100, \"mlkem-private-key\");\nexport const MLKEM_PUBLIC_KEY: Tag = createTag(40101, \"mlkem-public-key\");\nexport const MLKEM_CIPHERTEXT: Tag = createTag(40102, \"mlkem-ciphertext\");\nexport const MLDSA_PRIVATE_KEY: Tag = createTag(40103, \"mldsa-private-key\");\nexport const MLDSA_PUBLIC_KEY: Tag = createTag(40104, \"mldsa-public-key\");\nexport const MLDSA_SIGNATURE: Tag = createTag(40105, \"mldsa-signature\");\nexport const SEED: Tag = createTag(40300, \"seed\");\nexport const HDKEY: Tag = createTag(40303, \"hdkey\");\nexport const DERIVATION_PATH: Tag = createTag(40304, \"keypath\");\n\nexport const USE_INFO: Tag = createTag(40305, \"coin-info\");\nexport const EC_KEY: Tag = createTag(40306, \"eckey\");\nexport const ADDRESS: Tag = createTag(40307, \"address\");\nexport const OUTPUT_DESCRIPTOR: Tag = createTag(40308, \"output-descriptor\");\nexport const SSKR_SHARE: Tag = createTag(40309, \"sskr\");\nexport const PSBT: Tag = createTag(40310, \"psbt\");\nexport const ACCOUNT_DESCRIPTOR: Tag = createTag(40311, \"account-descriptor\");\nexport const SSH_TEXT_PRIVATE_KEY: Tag = createTag(40800, \"ssh-private\");\nexport const SSH_TEXT_PUBLIC_KEY: Tag = createTag(40801, \"ssh-public\");\nexport const SSH_TEXT_SIGNATURE: Tag = createTag(40802, \"ssh-signature\");\nexport const SSH_TEXT_CERTIFICATE: Tag = createTag(40803, \"ssh-certificate\");\n\nexport const PROVENANCE_MARK: Tag = createTag(1347571542, \"provenance\");\n\n// ============================================================================\n// DEPRECATED TAGS\n// ============================================================================\n//\n// The following tags are deprecated and should not be used in new code.\n// Unfortunately, they are likely to be in active use by external developers,\n// but should never have been used as they are in the range of CBOR tags\n// requiring \"Specification\" action by IANA, which requires IANA experts to\n// review and approve the specification. These are harder to get approved than\n// \"First Come First Served\" tags, and we don't want to have to do that for\n// every new tag we create. Most of these tags have been replaced by \"First Come\n// First Served\" tags in the range of 40000+.\n\nexport const SEED_V1: Tag = createTag(300, \"crypto-seed\");\nexport const EC_KEY_V1: Tag = createTag(306, \"crypto-eckey\");\nexport const SSKR_SHARE_V1: Tag = createTag(309, \"crypto-sskr\");\n\nexport const HDKEY_V1: Tag = createTag(303, \"crypto-hdkey\");\nexport const DERIVATION_PATH_V1: Tag = createTag(304, \"crypto-keypath\");\nexport const USE_INFO_V1: Tag = createTag(305, \"crypto-coin-info\");\nexport const OUTPUT_DESCRIPTOR_V1: Tag = createTag(307, \"crypto-output\");\nexport const PSBT_V1: Tag = createTag(310, \"crypto-psbt\");\nexport const ACCOUNT_V1: Tag = createTag(311, \"crypto-account\");\n\n// ============================================================================\n// Tags for subtypes specific to AccountBundle (crypto-output).\n// ============================================================================\n\nexport const OUTPUT_SCRIPT_HASH: Tag = createTag(400, \"output-script-hash\");\nexport const OUTPUT_WITNESS_SCRIPT_HASH: Tag = createTag(401, \"output-witness-script-hash\");\nexport const OUTPUT_PUBLIC_KEY: Tag = createTag(402, \"output-public-key\");\nexport const OUTPUT_PUBLIC_KEY_HASH: Tag = createTag(403, \"output-public-key-hash\");\nexport const OUTPUT_WITNESS_PUBLIC_KEY_HASH: Tag = createTag(404, \"output-witness-public-key-hash\");\nexport const OUTPUT_COMBO: Tag = createTag(405, \"output-combo\");\nexport const OUTPUT_MULTISIG: Tag = createTag(406, \"output-multisig\");\nexport const OUTPUT_SORTED_MULTISIG: Tag = createTag(407, \"output-sorted-multisig\");\nexport const OUTPUT_RAW_SCRIPT: Tag = createTag(408, \"output-raw-script\");\nexport const OUTPUT_TAPROOT: Tag = createTag(409, \"output-taproot\");\nexport const OUTPUT_COSIGNER: Tag = createTag(410, \"output-cosigner\");\n\n// ============================================================================\n// Registration Functions\n// ============================================================================\n\n/**\n * Register all Blockchain Commons tags in a specific tags store.\n * This matches the Rust function `register_tags_in()`.\n *\n * @param tagsStore - The tags store to register tags into\n */\nexport function registerTagsIn(tagsStore: TagsStore): void {\n // First register dcbor's tags\n registerDcborTagsIn(tagsStore);\n\n // Then register all Blockchain Commons tags\n const tags: Tag[] = [\n URI,\n UUID,\n ENCODED_CBOR,\n ENVELOPE,\n LEAF,\n JSON,\n KNOWN_VALUE,\n DIGEST,\n ENCRYPTED,\n COMPRESSED,\n REQUEST,\n RESPONSE,\n FUNCTION,\n PARAMETER,\n PLACEHOLDER,\n REPLACEMENT,\n EVENT,\n SEED_V1,\n EC_KEY_V1,\n SSKR_SHARE_V1,\n SEED,\n EC_KEY,\n SSKR_SHARE,\n X25519_PRIVATE_KEY,\n X25519_PUBLIC_KEY,\n ARID,\n PRIVATE_KEYS,\n NONCE,\n PASSWORD,\n PRIVATE_KEY_BASE,\n PUBLIC_KEYS,\n SALT,\n SEALED_MESSAGE,\n SIGNATURE,\n SIGNING_PRIVATE_KEY,\n SIGNING_PUBLIC_KEY,\n SYMMETRIC_KEY,\n XID,\n REFERENCE,\n ENCRYPTED_KEY,\n MLKEM_PRIVATE_KEY,\n MLKEM_PUBLIC_KEY,\n MLKEM_CIPHERTEXT,\n MLDSA_PRIVATE_KEY,\n MLDSA_PUBLIC_KEY,\n MLDSA_SIGNATURE,\n HDKEY_V1,\n DERIVATION_PATH_V1,\n USE_INFO_V1,\n OUTPUT_DESCRIPTOR_V1,\n PSBT_V1,\n ACCOUNT_V1,\n HDKEY,\n DERIVATION_PATH,\n USE_INFO,\n ADDRESS,\n OUTPUT_DESCRIPTOR,\n PSBT,\n ACCOUNT_DESCRIPTOR,\n SSH_TEXT_PRIVATE_KEY,\n SSH_TEXT_PUBLIC_KEY,\n SSH_TEXT_SIGNATURE,\n SSH_TEXT_CERTIFICATE,\n OUTPUT_SCRIPT_HASH,\n OUTPUT_WITNESS_SCRIPT_HASH,\n OUTPUT_PUBLIC_KEY,\n OUTPUT_PUBLIC_KEY_HASH,\n OUTPUT_WITNESS_PUBLIC_KEY_HASH,\n OUTPUT_COMBO,\n OUTPUT_MULTISIG,\n OUTPUT_SORTED_MULTISIG,\n OUTPUT_RAW_SCRIPT,\n OUTPUT_TAPROOT,\n OUTPUT_COSIGNER,\n PROVENANCE_MARK,\n ];\n\n tagsStore.insertAll(tags);\n}\n\n/**\n * Register all Blockchain Commons tags in the global tags store.\n * This matches the Rust function `register_tags()`.\n *\n * This function is idempotent - calling it multiple times is safe.\n */\nexport function registerTags(): void {\n const globalStore = getGlobalTagsStore();\n registerTagsIn(globalStore);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../src/tags-registry.ts"],"sourcesContent":["/**\n * Copyright © 2023-2026 Blockchain Commons, LLC\n * Copyright © 2025-2026 Parity Technologies\n *\n *\n * CBOR Tags Registry\n *\n * This is a 1:1 port of the Rust bc-tags-rust implementation.\n *\n * @see https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md\n *\n * As of August 13 2022, the [IANA registry of CBOR tags](https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml)\n * has the following low-numbered values available:\n *\n * One byte encoding: 6-15, 19-20\n * Two byte encoding: 48-51, 53, 55-60, 62, 88-95, 99, 102, 105-109, 113-119,\n * 128-255\n *\n * Tags in the range 0-23 require \"standards action\" for the IANA to recognize.\n * Tags in the range 24-32767 require a specification to reserve.\n * Tags in the range 24-255 only require two bytes to encode.\n * Higher numbered tags are first-come, first-served.\n */\n\nimport {\n type Tag,\n createTag,\n type TagsStore,\n getGlobalTagsStore,\n registerTagsIn as registerDcborTagsIn,\n} from \"@bcts/dcbor\";\n\n// ============================================================================\n// Standard IANA Tags (re-used from dcbor but defined here for completeness)\n// ============================================================================\n\nexport const URI: Tag = createTag(32, \"url\");\nexport const UUID: Tag = createTag(37, \"uuid\");\n\n// A previous version of the Envelope spec used tag #6.24 (\"Encoded CBOR Item\")\n// as the header for the Envelope `leaf` case. Unfortunately, this was not a\n// correct use of the tag, as the contents of #6.24 (RFC8949 §3.4.5.1) MUST\n// always be a byte string, while we were simply using it as a wrapper/header\n// for any dCBOR data item.\n//\n// https://www.rfc-editor.org/rfc/rfc8949.html#name-encoded-cbor-data-item\n//\n// The new leaf tag is #6.201, but we will still recognize #6.24 for backwards\n// compatibility.\n\n// The only two tags that Blockchain Commons has registered in the\n// \"Specification Required\" range are the two tags for \"Gordian Envelope\"\n// (#6.200) and \"dCBOR/Envelope Leaf\" (#6.201).\n\n// ============================================================================\n// Core Envelope tags.\n// ============================================================================\n\nexport const ENCODED_CBOR: Tag = createTag(24, \"encoded-cbor\");\nexport const ENVELOPE: Tag = createTag(200, \"envelope\");\nexport const LEAF: Tag = createTag(201, \"leaf\"); // dCBOR data item\nexport const JSON: Tag = createTag(262, \"json\"); // bstr containing UTF-8 JSON text\n\n// ============================================================================\n// Envelope extension tags\n// ============================================================================\n\nexport const KNOWN_VALUE: Tag = createTag(40000, \"known-value\");\nexport const DIGEST: Tag = createTag(40001, \"digest\");\nexport const ENCRYPTED: Tag = createTag(40002, \"encrypted\");\nexport const COMPRESSED: Tag = createTag(40003, \"compressed\");\n\n// ============================================================================\n// Tags for subtypes specific to Distributed Function Calls.\n// ============================================================================\n\nexport const REQUEST: Tag = createTag(40004, \"request\");\nexport const RESPONSE: Tag = createTag(40005, \"response\");\nexport const FUNCTION: Tag = createTag(40006, \"function\");\nexport const PARAMETER: Tag = createTag(40007, \"parameter\");\nexport const PLACEHOLDER: Tag = createTag(40008, \"placeholder\");\nexport const REPLACEMENT: Tag = createTag(40009, \"replacement\");\n\nexport const X25519_PRIVATE_KEY: Tag = createTag(40010, \"agreement-private-key\");\nexport const X25519_PUBLIC_KEY: Tag = createTag(40011, \"agreement-public-key\");\nexport const ARID: Tag = createTag(40012, \"arid\");\nexport const PRIVATE_KEYS: Tag = createTag(40013, \"crypto-prvkeys\");\nexport const NONCE: Tag = createTag(40014, \"nonce\");\nexport const PASSWORD: Tag = createTag(40015, \"password\");\nexport const PRIVATE_KEY_BASE: Tag = createTag(40016, \"crypto-prvkey-base\");\n\nexport const PUBLIC_KEYS: Tag = createTag(40017, \"crypto-pubkeys\");\nexport const SALT: Tag = createTag(40018, \"salt\");\nexport const SEALED_MESSAGE: Tag = createTag(40019, \"crypto-sealed\");\nexport const SIGNATURE: Tag = createTag(40020, \"signature\");\nexport const SIGNING_PRIVATE_KEY: Tag = createTag(40021, \"signing-private-key\");\nexport const SIGNING_PUBLIC_KEY: Tag = createTag(40022, \"signing-public-key\");\nexport const SYMMETRIC_KEY: Tag = createTag(40023, \"crypto-key\");\nexport const XID: Tag = createTag(40024, \"xid\");\nexport const REFERENCE: Tag = createTag(40025, \"reference\");\nexport const EVENT: Tag = createTag(40026, \"event\");\n\nexport const ENCRYPTED_KEY: Tag = createTag(40027, \"encrypted-key\");\nexport const MLKEM_PRIVATE_KEY: Tag = createTag(40100, \"mlkem-private-key\");\nexport const MLKEM_PUBLIC_KEY: Tag = createTag(40101, \"mlkem-public-key\");\nexport const MLKEM_CIPHERTEXT: Tag = createTag(40102, \"mlkem-ciphertext\");\nexport const MLDSA_PRIVATE_KEY: Tag = createTag(40103, \"mldsa-private-key\");\nexport const MLDSA_PUBLIC_KEY: Tag = createTag(40104, \"mldsa-public-key\");\nexport const MLDSA_SIGNATURE: Tag = createTag(40105, \"mldsa-signature\");\nexport const SEED: Tag = createTag(40300, \"seed\");\nexport const HDKEY: Tag = createTag(40303, \"hdkey\");\nexport const DERIVATION_PATH: Tag = createTag(40304, \"keypath\");\n\nexport const USE_INFO: Tag = createTag(40305, \"coin-info\");\nexport const EC_KEY: Tag = createTag(40306, \"eckey\");\nexport const ADDRESS: Tag = createTag(40307, \"address\");\nexport const OUTPUT_DESCRIPTOR: Tag = createTag(40308, \"output-descriptor\");\nexport const SSKR_SHARE: Tag = createTag(40309, \"sskr\");\nexport const PSBT: Tag = createTag(40310, \"psbt\");\nexport const ACCOUNT_DESCRIPTOR: Tag = createTag(40311, \"account-descriptor\");\nexport const SSH_TEXT_PRIVATE_KEY: Tag = createTag(40800, \"ssh-private\");\nexport const SSH_TEXT_PUBLIC_KEY: Tag = createTag(40801, \"ssh-public\");\nexport const SSH_TEXT_SIGNATURE: Tag = createTag(40802, \"ssh-signature\");\nexport const SSH_TEXT_CERTIFICATE: Tag = createTag(40803, \"ssh-certificate\");\n\nexport const PROVENANCE_MARK: Tag = createTag(1347571542, \"provenance\");\n\n// ============================================================================\n// DEPRECATED TAGS\n// ============================================================================\n//\n// The following tags are deprecated and should not be used in new code.\n// Unfortunately, they are likely to be in active use by external developers,\n// but should never have been used as they are in the range of CBOR tags\n// requiring \"Specification\" action by IANA, which requires IANA experts to\n// review and approve the specification. These are harder to get approved than\n// \"First Come First Served\" tags, and we don't want to have to do that for\n// every new tag we create. Most of these tags have been replaced by \"First Come\n// First Served\" tags in the range of 40000+.\n\nexport const SEED_V1: Tag = createTag(300, \"crypto-seed\");\nexport const EC_KEY_V1: Tag = createTag(306, \"crypto-eckey\");\nexport const SSKR_SHARE_V1: Tag = createTag(309, \"crypto-sskr\");\n\nexport const HDKEY_V1: Tag = createTag(303, \"crypto-hdkey\");\nexport const DERIVATION_PATH_V1: Tag = createTag(304, \"crypto-keypath\");\nexport const USE_INFO_V1: Tag = createTag(305, \"crypto-coin-info\");\nexport const OUTPUT_DESCRIPTOR_V1: Tag = createTag(307, \"crypto-output\");\nexport const PSBT_V1: Tag = createTag(310, \"crypto-psbt\");\nexport const ACCOUNT_V1: Tag = createTag(311, \"crypto-account\");\n\n// ============================================================================\n// Tags for subtypes specific to AccountBundle (crypto-output).\n// ============================================================================\n\nexport const OUTPUT_SCRIPT_HASH: Tag = createTag(400, \"output-script-hash\");\nexport const OUTPUT_WITNESS_SCRIPT_HASH: Tag = createTag(401, \"output-witness-script-hash\");\nexport const OUTPUT_PUBLIC_KEY: Tag = createTag(402, \"output-public-key\");\nexport const OUTPUT_PUBLIC_KEY_HASH: Tag = createTag(403, \"output-public-key-hash\");\nexport const OUTPUT_WITNESS_PUBLIC_KEY_HASH: Tag = createTag(404, \"output-witness-public-key-hash\");\nexport const OUTPUT_COMBO: Tag = createTag(405, \"output-combo\");\nexport const OUTPUT_MULTISIG: Tag = createTag(406, \"output-multisig\");\nexport const OUTPUT_SORTED_MULTISIG: Tag = createTag(407, \"output-sorted-multisig\");\nexport const OUTPUT_RAW_SCRIPT: Tag = createTag(408, \"output-raw-script\");\nexport const OUTPUT_TAPROOT: Tag = createTag(409, \"output-taproot\");\nexport const OUTPUT_COSIGNER: Tag = createTag(410, \"output-cosigner\");\n\n// ============================================================================\n// Registration Functions\n// ============================================================================\n\n/**\n * Register all Blockchain Commons tags in a specific tags store.\n * This matches the Rust function `register_tags_in()`.\n *\n * @param tagsStore - The tags store to register tags into\n */\nexport function registerTagsIn(tagsStore: TagsStore): void {\n // First register dcbor's tags\n registerDcborTagsIn(tagsStore);\n\n // Then register all Blockchain Commons tags\n const tags: Tag[] = [\n URI,\n UUID,\n ENCODED_CBOR,\n ENVELOPE,\n LEAF,\n JSON,\n KNOWN_VALUE,\n DIGEST,\n ENCRYPTED,\n COMPRESSED,\n REQUEST,\n RESPONSE,\n FUNCTION,\n PARAMETER,\n PLACEHOLDER,\n REPLACEMENT,\n EVENT,\n SEED_V1,\n EC_KEY_V1,\n SSKR_SHARE_V1,\n SEED,\n EC_KEY,\n SSKR_SHARE,\n X25519_PRIVATE_KEY,\n X25519_PUBLIC_KEY,\n ARID,\n PRIVATE_KEYS,\n NONCE,\n PASSWORD,\n PRIVATE_KEY_BASE,\n PUBLIC_KEYS,\n SALT,\n SEALED_MESSAGE,\n SIGNATURE,\n SIGNING_PRIVATE_KEY,\n SIGNING_PUBLIC_KEY,\n SYMMETRIC_KEY,\n XID,\n REFERENCE,\n ENCRYPTED_KEY,\n MLKEM_PRIVATE_KEY,\n MLKEM_PUBLIC_KEY,\n MLKEM_CIPHERTEXT,\n MLDSA_PRIVATE_KEY,\n MLDSA_PUBLIC_KEY,\n MLDSA_SIGNATURE,\n HDKEY_V1,\n DERIVATION_PATH_V1,\n USE_INFO_V1,\n OUTPUT_DESCRIPTOR_V1,\n PSBT_V1,\n ACCOUNT_V1,\n HDKEY,\n DERIVATION_PATH,\n USE_INFO,\n ADDRESS,\n OUTPUT_DESCRIPTOR,\n PSBT,\n ACCOUNT_DESCRIPTOR,\n SSH_TEXT_PRIVATE_KEY,\n SSH_TEXT_PUBLIC_KEY,\n SSH_TEXT_SIGNATURE,\n SSH_TEXT_CERTIFICATE,\n OUTPUT_SCRIPT_HASH,\n OUTPUT_WITNESS_SCRIPT_HASH,\n OUTPUT_PUBLIC_KEY,\n OUTPUT_PUBLIC_KEY_HASH,\n OUTPUT_WITNESS_PUBLIC_KEY_HASH,\n OUTPUT_COMBO,\n OUTPUT_MULTISIG,\n OUTPUT_SORTED_MULTISIG,\n OUTPUT_RAW_SCRIPT,\n OUTPUT_TAPROOT,\n OUTPUT_COSIGNER,\n PROVENANCE_MARK,\n ];\n\n tagsStore.insertAll(tags);\n}\n\n/**\n * Register all Blockchain Commons tags in the global tags store.\n * This matches the Rust function `register_tags()`.\n *\n * This function is idempotent - calling it multiple times is safe.\n */\nexport function registerTags(): void {\n const globalStore = getGlobalTagsStore();\n registerTagsIn(globalStore);\n}\n"],"mappings":"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"}
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/tags-registry.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/tags-registry.ts"],"mappings":"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"}
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/tags-registry.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/tags-registry.ts"],"mappings":"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"}
|
package/dist/index.iife.js
CHANGED
|
@@ -4,6 +4,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
//#region src/tags-registry.ts
|
|
6
6
|
/**
|
|
7
|
+
* Copyright © 2023-2026 Blockchain Commons, LLC
|
|
8
|
+
* Copyright © 2025-2026 Parity Technologies
|
|
9
|
+
*
|
|
10
|
+
*
|
|
7
11
|
* CBOR Tags Registry
|
|
8
12
|
*
|
|
9
13
|
* This is a 1:1 port of the Rust bc-tags-rust implementation.
|
package/dist/index.iife.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.iife.js","names":[],"sources":["../src/tags-registry.ts"],"sourcesContent":["/**\n * CBOR Tags Registry\n *\n * This is a 1:1 port of the Rust bc-tags-rust implementation.\n *\n * @see https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md\n *\n * As of August 13 2022, the [IANA registry of CBOR tags](https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml)\n * has the following low-numbered values available:\n *\n * One byte encoding: 6-15, 19-20\n * Two byte encoding: 48-51, 53, 55-60, 62, 88-95, 99, 102, 105-109, 113-119,\n * 128-255\n *\n * Tags in the range 0-23 require \"standards action\" for the IANA to recognize.\n * Tags in the range 24-32767 require a specification to reserve.\n * Tags in the range 24-255 only require two bytes to encode.\n * Higher numbered tags are first-come, first-served.\n */\n\nimport {\n type Tag,\n createTag,\n type TagsStore,\n getGlobalTagsStore,\n registerTagsIn as registerDcborTagsIn,\n} from \"@bcts/dcbor\";\n\n// ============================================================================\n// Standard IANA Tags (re-used from dcbor but defined here for completeness)\n// ============================================================================\n\nexport const URI: Tag = createTag(32, \"url\");\nexport const UUID: Tag = createTag(37, \"uuid\");\n\n// A previous version of the Envelope spec used tag #6.24 (\"Encoded CBOR Item\")\n// as the header for the Envelope `leaf` case. Unfortunately, this was not a\n// correct use of the tag, as the contents of #6.24 (RFC8949 §3.4.5.1) MUST\n// always be a byte string, while we were simply using it as a wrapper/header\n// for any dCBOR data item.\n//\n// https://www.rfc-editor.org/rfc/rfc8949.html#name-encoded-cbor-data-item\n//\n// The new leaf tag is #6.201, but we will still recognize #6.24 for backwards\n// compatibility.\n\n// The only two tags that Blockchain Commons has registered in the\n// \"Specification Required\" range are the two tags for \"Gordian Envelope\"\n// (#6.200) and \"dCBOR/Envelope Leaf\" (#6.201).\n\n// ============================================================================\n// Core Envelope tags.\n// ============================================================================\n\nexport const ENCODED_CBOR: Tag = createTag(24, \"encoded-cbor\");\nexport const ENVELOPE: Tag = createTag(200, \"envelope\");\nexport const LEAF: Tag = createTag(201, \"leaf\"); // dCBOR data item\nexport const JSON: Tag = createTag(262, \"json\"); // bstr containing UTF-8 JSON text\n\n// ============================================================================\n// Envelope extension tags\n// ============================================================================\n\nexport const KNOWN_VALUE: Tag = createTag(40000, \"known-value\");\nexport const DIGEST: Tag = createTag(40001, \"digest\");\nexport const ENCRYPTED: Tag = createTag(40002, \"encrypted\");\nexport const COMPRESSED: Tag = createTag(40003, \"compressed\");\n\n// ============================================================================\n// Tags for subtypes specific to Distributed Function Calls.\n// ============================================================================\n\nexport const REQUEST: Tag = createTag(40004, \"request\");\nexport const RESPONSE: Tag = createTag(40005, \"response\");\nexport const FUNCTION: Tag = createTag(40006, \"function\");\nexport const PARAMETER: Tag = createTag(40007, \"parameter\");\nexport const PLACEHOLDER: Tag = createTag(40008, \"placeholder\");\nexport const REPLACEMENT: Tag = createTag(40009, \"replacement\");\n\nexport const X25519_PRIVATE_KEY: Tag = createTag(40010, \"agreement-private-key\");\nexport const X25519_PUBLIC_KEY: Tag = createTag(40011, \"agreement-public-key\");\nexport const ARID: Tag = createTag(40012, \"arid\");\nexport const PRIVATE_KEYS: Tag = createTag(40013, \"crypto-prvkeys\");\nexport const NONCE: Tag = createTag(40014, \"nonce\");\nexport const PASSWORD: Tag = createTag(40015, \"password\");\nexport const PRIVATE_KEY_BASE: Tag = createTag(40016, \"crypto-prvkey-base\");\n\nexport const PUBLIC_KEYS: Tag = createTag(40017, \"crypto-pubkeys\");\nexport const SALT: Tag = createTag(40018, \"salt\");\nexport const SEALED_MESSAGE: Tag = createTag(40019, \"crypto-sealed\");\nexport const SIGNATURE: Tag = createTag(40020, \"signature\");\nexport const SIGNING_PRIVATE_KEY: Tag = createTag(40021, \"signing-private-key\");\nexport const SIGNING_PUBLIC_KEY: Tag = createTag(40022, \"signing-public-key\");\nexport const SYMMETRIC_KEY: Tag = createTag(40023, \"crypto-key\");\nexport const XID: Tag = createTag(40024, \"xid\");\nexport const REFERENCE: Tag = createTag(40025, \"reference\");\nexport const EVENT: Tag = createTag(40026, \"event\");\n\nexport const ENCRYPTED_KEY: Tag = createTag(40027, \"encrypted-key\");\nexport const MLKEM_PRIVATE_KEY: Tag = createTag(40100, \"mlkem-private-key\");\nexport const MLKEM_PUBLIC_KEY: Tag = createTag(40101, \"mlkem-public-key\");\nexport const MLKEM_CIPHERTEXT: Tag = createTag(40102, \"mlkem-ciphertext\");\nexport const MLDSA_PRIVATE_KEY: Tag = createTag(40103, \"mldsa-private-key\");\nexport const MLDSA_PUBLIC_KEY: Tag = createTag(40104, \"mldsa-public-key\");\nexport const MLDSA_SIGNATURE: Tag = createTag(40105, \"mldsa-signature\");\nexport const SEED: Tag = createTag(40300, \"seed\");\nexport const HDKEY: Tag = createTag(40303, \"hdkey\");\nexport const DERIVATION_PATH: Tag = createTag(40304, \"keypath\");\n\nexport const USE_INFO: Tag = createTag(40305, \"coin-info\");\nexport const EC_KEY: Tag = createTag(40306, \"eckey\");\nexport const ADDRESS: Tag = createTag(40307, \"address\");\nexport const OUTPUT_DESCRIPTOR: Tag = createTag(40308, \"output-descriptor\");\nexport const SSKR_SHARE: Tag = createTag(40309, \"sskr\");\nexport const PSBT: Tag = createTag(40310, \"psbt\");\nexport const ACCOUNT_DESCRIPTOR: Tag = createTag(40311, \"account-descriptor\");\nexport const SSH_TEXT_PRIVATE_KEY: Tag = createTag(40800, \"ssh-private\");\nexport const SSH_TEXT_PUBLIC_KEY: Tag = createTag(40801, \"ssh-public\");\nexport const SSH_TEXT_SIGNATURE: Tag = createTag(40802, \"ssh-signature\");\nexport const SSH_TEXT_CERTIFICATE: Tag = createTag(40803, \"ssh-certificate\");\n\nexport const PROVENANCE_MARK: Tag = createTag(1347571542, \"provenance\");\n\n// ============================================================================\n// DEPRECATED TAGS\n// ============================================================================\n//\n// The following tags are deprecated and should not be used in new code.\n// Unfortunately, they are likely to be in active use by external developers,\n// but should never have been used as they are in the range of CBOR tags\n// requiring \"Specification\" action by IANA, which requires IANA experts to\n// review and approve the specification. These are harder to get approved than\n// \"First Come First Served\" tags, and we don't want to have to do that for\n// every new tag we create. Most of these tags have been replaced by \"First Come\n// First Served\" tags in the range of 40000+.\n\nexport const SEED_V1: Tag = createTag(300, \"crypto-seed\");\nexport const EC_KEY_V1: Tag = createTag(306, \"crypto-eckey\");\nexport const SSKR_SHARE_V1: Tag = createTag(309, \"crypto-sskr\");\n\nexport const HDKEY_V1: Tag = createTag(303, \"crypto-hdkey\");\nexport const DERIVATION_PATH_V1: Tag = createTag(304, \"crypto-keypath\");\nexport const USE_INFO_V1: Tag = createTag(305, \"crypto-coin-info\");\nexport const OUTPUT_DESCRIPTOR_V1: Tag = createTag(307, \"crypto-output\");\nexport const PSBT_V1: Tag = createTag(310, \"crypto-psbt\");\nexport const ACCOUNT_V1: Tag = createTag(311, \"crypto-account\");\n\n// ============================================================================\n// Tags for subtypes specific to AccountBundle (crypto-output).\n// ============================================================================\n\nexport const OUTPUT_SCRIPT_HASH: Tag = createTag(400, \"output-script-hash\");\nexport const OUTPUT_WITNESS_SCRIPT_HASH: Tag = createTag(401, \"output-witness-script-hash\");\nexport const OUTPUT_PUBLIC_KEY: Tag = createTag(402, \"output-public-key\");\nexport const OUTPUT_PUBLIC_KEY_HASH: Tag = createTag(403, \"output-public-key-hash\");\nexport const OUTPUT_WITNESS_PUBLIC_KEY_HASH: Tag = createTag(404, \"output-witness-public-key-hash\");\nexport const OUTPUT_COMBO: Tag = createTag(405, \"output-combo\");\nexport const OUTPUT_MULTISIG: Tag = createTag(406, \"output-multisig\");\nexport const OUTPUT_SORTED_MULTISIG: Tag = createTag(407, \"output-sorted-multisig\");\nexport const OUTPUT_RAW_SCRIPT: Tag = createTag(408, \"output-raw-script\");\nexport const OUTPUT_TAPROOT: Tag = createTag(409, \"output-taproot\");\nexport const OUTPUT_COSIGNER: Tag = createTag(410, \"output-cosigner\");\n\n// ============================================================================\n// Registration Functions\n// ============================================================================\n\n/**\n * Register all Blockchain Commons tags in a specific tags store.\n * This matches the Rust function `register_tags_in()`.\n *\n * @param tagsStore - The tags store to register tags into\n */\nexport function registerTagsIn(tagsStore: TagsStore): void {\n // First register dcbor's tags\n registerDcborTagsIn(tagsStore);\n\n // Then register all Blockchain Commons tags\n const tags: Tag[] = [\n URI,\n UUID,\n ENCODED_CBOR,\n ENVELOPE,\n LEAF,\n JSON,\n KNOWN_VALUE,\n DIGEST,\n ENCRYPTED,\n COMPRESSED,\n REQUEST,\n RESPONSE,\n FUNCTION,\n PARAMETER,\n PLACEHOLDER,\n REPLACEMENT,\n EVENT,\n SEED_V1,\n EC_KEY_V1,\n SSKR_SHARE_V1,\n SEED,\n EC_KEY,\n SSKR_SHARE,\n X25519_PRIVATE_KEY,\n X25519_PUBLIC_KEY,\n ARID,\n PRIVATE_KEYS,\n NONCE,\n PASSWORD,\n PRIVATE_KEY_BASE,\n PUBLIC_KEYS,\n SALT,\n SEALED_MESSAGE,\n SIGNATURE,\n SIGNING_PRIVATE_KEY,\n SIGNING_PUBLIC_KEY,\n SYMMETRIC_KEY,\n XID,\n REFERENCE,\n ENCRYPTED_KEY,\n MLKEM_PRIVATE_KEY,\n MLKEM_PUBLIC_KEY,\n MLKEM_CIPHERTEXT,\n MLDSA_PRIVATE_KEY,\n MLDSA_PUBLIC_KEY,\n MLDSA_SIGNATURE,\n HDKEY_V1,\n DERIVATION_PATH_V1,\n USE_INFO_V1,\n OUTPUT_DESCRIPTOR_V1,\n PSBT_V1,\n ACCOUNT_V1,\n HDKEY,\n DERIVATION_PATH,\n USE_INFO,\n ADDRESS,\n OUTPUT_DESCRIPTOR,\n PSBT,\n ACCOUNT_DESCRIPTOR,\n SSH_TEXT_PRIVATE_KEY,\n SSH_TEXT_PUBLIC_KEY,\n SSH_TEXT_SIGNATURE,\n SSH_TEXT_CERTIFICATE,\n OUTPUT_SCRIPT_HASH,\n OUTPUT_WITNESS_SCRIPT_HASH,\n OUTPUT_PUBLIC_KEY,\n OUTPUT_PUBLIC_KEY_HASH,\n OUTPUT_WITNESS_PUBLIC_KEY_HASH,\n OUTPUT_COMBO,\n OUTPUT_MULTISIG,\n OUTPUT_SORTED_MULTISIG,\n OUTPUT_RAW_SCRIPT,\n OUTPUT_TAPROOT,\n OUTPUT_COSIGNER,\n PROVENANCE_MARK,\n ];\n\n tagsStore.insertAll(tags);\n}\n\n/**\n * Register all Blockchain Commons tags in the global tags store.\n * This matches the Rust function `register_tags()`.\n *\n * This function is idempotent - calling it multiple times is safe.\n */\nexport function registerTags(): void {\n const globalStore = getGlobalTagsStore();\n registerTagsIn(globalStore);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.iife.js","names":[],"sources":["../src/tags-registry.ts"],"sourcesContent":["/**\n * Copyright © 2023-2026 Blockchain Commons, LLC\n * Copyright © 2025-2026 Parity Technologies\n *\n *\n * CBOR Tags Registry\n *\n * This is a 1:1 port of the Rust bc-tags-rust implementation.\n *\n * @see https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md\n *\n * As of August 13 2022, the [IANA registry of CBOR tags](https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml)\n * has the following low-numbered values available:\n *\n * One byte encoding: 6-15, 19-20\n * Two byte encoding: 48-51, 53, 55-60, 62, 88-95, 99, 102, 105-109, 113-119,\n * 128-255\n *\n * Tags in the range 0-23 require \"standards action\" for the IANA to recognize.\n * Tags in the range 24-32767 require a specification to reserve.\n * Tags in the range 24-255 only require two bytes to encode.\n * Higher numbered tags are first-come, first-served.\n */\n\nimport {\n type Tag,\n createTag,\n type TagsStore,\n getGlobalTagsStore,\n registerTagsIn as registerDcborTagsIn,\n} from \"@bcts/dcbor\";\n\n// ============================================================================\n// Standard IANA Tags (re-used from dcbor but defined here for completeness)\n// ============================================================================\n\nexport const URI: Tag = createTag(32, \"url\");\nexport const UUID: Tag = createTag(37, \"uuid\");\n\n// A previous version of the Envelope spec used tag #6.24 (\"Encoded CBOR Item\")\n// as the header for the Envelope `leaf` case. Unfortunately, this was not a\n// correct use of the tag, as the contents of #6.24 (RFC8949 §3.4.5.1) MUST\n// always be a byte string, while we were simply using it as a wrapper/header\n// for any dCBOR data item.\n//\n// https://www.rfc-editor.org/rfc/rfc8949.html#name-encoded-cbor-data-item\n//\n// The new leaf tag is #6.201, but we will still recognize #6.24 for backwards\n// compatibility.\n\n// The only two tags that Blockchain Commons has registered in the\n// \"Specification Required\" range are the two tags for \"Gordian Envelope\"\n// (#6.200) and \"dCBOR/Envelope Leaf\" (#6.201).\n\n// ============================================================================\n// Core Envelope tags.\n// ============================================================================\n\nexport const ENCODED_CBOR: Tag = createTag(24, \"encoded-cbor\");\nexport const ENVELOPE: Tag = createTag(200, \"envelope\");\nexport const LEAF: Tag = createTag(201, \"leaf\"); // dCBOR data item\nexport const JSON: Tag = createTag(262, \"json\"); // bstr containing UTF-8 JSON text\n\n// ============================================================================\n// Envelope extension tags\n// ============================================================================\n\nexport const KNOWN_VALUE: Tag = createTag(40000, \"known-value\");\nexport const DIGEST: Tag = createTag(40001, \"digest\");\nexport const ENCRYPTED: Tag = createTag(40002, \"encrypted\");\nexport const COMPRESSED: Tag = createTag(40003, \"compressed\");\n\n// ============================================================================\n// Tags for subtypes specific to Distributed Function Calls.\n// ============================================================================\n\nexport const REQUEST: Tag = createTag(40004, \"request\");\nexport const RESPONSE: Tag = createTag(40005, \"response\");\nexport const FUNCTION: Tag = createTag(40006, \"function\");\nexport const PARAMETER: Tag = createTag(40007, \"parameter\");\nexport const PLACEHOLDER: Tag = createTag(40008, \"placeholder\");\nexport const REPLACEMENT: Tag = createTag(40009, \"replacement\");\n\nexport const X25519_PRIVATE_KEY: Tag = createTag(40010, \"agreement-private-key\");\nexport const X25519_PUBLIC_KEY: Tag = createTag(40011, \"agreement-public-key\");\nexport const ARID: Tag = createTag(40012, \"arid\");\nexport const PRIVATE_KEYS: Tag = createTag(40013, \"crypto-prvkeys\");\nexport const NONCE: Tag = createTag(40014, \"nonce\");\nexport const PASSWORD: Tag = createTag(40015, \"password\");\nexport const PRIVATE_KEY_BASE: Tag = createTag(40016, \"crypto-prvkey-base\");\n\nexport const PUBLIC_KEYS: Tag = createTag(40017, \"crypto-pubkeys\");\nexport const SALT: Tag = createTag(40018, \"salt\");\nexport const SEALED_MESSAGE: Tag = createTag(40019, \"crypto-sealed\");\nexport const SIGNATURE: Tag = createTag(40020, \"signature\");\nexport const SIGNING_PRIVATE_KEY: Tag = createTag(40021, \"signing-private-key\");\nexport const SIGNING_PUBLIC_KEY: Tag = createTag(40022, \"signing-public-key\");\nexport const SYMMETRIC_KEY: Tag = createTag(40023, \"crypto-key\");\nexport const XID: Tag = createTag(40024, \"xid\");\nexport const REFERENCE: Tag = createTag(40025, \"reference\");\nexport const EVENT: Tag = createTag(40026, \"event\");\n\nexport const ENCRYPTED_KEY: Tag = createTag(40027, \"encrypted-key\");\nexport const MLKEM_PRIVATE_KEY: Tag = createTag(40100, \"mlkem-private-key\");\nexport const MLKEM_PUBLIC_KEY: Tag = createTag(40101, \"mlkem-public-key\");\nexport const MLKEM_CIPHERTEXT: Tag = createTag(40102, \"mlkem-ciphertext\");\nexport const MLDSA_PRIVATE_KEY: Tag = createTag(40103, \"mldsa-private-key\");\nexport const MLDSA_PUBLIC_KEY: Tag = createTag(40104, \"mldsa-public-key\");\nexport const MLDSA_SIGNATURE: Tag = createTag(40105, \"mldsa-signature\");\nexport const SEED: Tag = createTag(40300, \"seed\");\nexport const HDKEY: Tag = createTag(40303, \"hdkey\");\nexport const DERIVATION_PATH: Tag = createTag(40304, \"keypath\");\n\nexport const USE_INFO: Tag = createTag(40305, \"coin-info\");\nexport const EC_KEY: Tag = createTag(40306, \"eckey\");\nexport const ADDRESS: Tag = createTag(40307, \"address\");\nexport const OUTPUT_DESCRIPTOR: Tag = createTag(40308, \"output-descriptor\");\nexport const SSKR_SHARE: Tag = createTag(40309, \"sskr\");\nexport const PSBT: Tag = createTag(40310, \"psbt\");\nexport const ACCOUNT_DESCRIPTOR: Tag = createTag(40311, \"account-descriptor\");\nexport const SSH_TEXT_PRIVATE_KEY: Tag = createTag(40800, \"ssh-private\");\nexport const SSH_TEXT_PUBLIC_KEY: Tag = createTag(40801, \"ssh-public\");\nexport const SSH_TEXT_SIGNATURE: Tag = createTag(40802, \"ssh-signature\");\nexport const SSH_TEXT_CERTIFICATE: Tag = createTag(40803, \"ssh-certificate\");\n\nexport const PROVENANCE_MARK: Tag = createTag(1347571542, \"provenance\");\n\n// ============================================================================\n// DEPRECATED TAGS\n// ============================================================================\n//\n// The following tags are deprecated and should not be used in new code.\n// Unfortunately, they are likely to be in active use by external developers,\n// but should never have been used as they are in the range of CBOR tags\n// requiring \"Specification\" action by IANA, which requires IANA experts to\n// review and approve the specification. These are harder to get approved than\n// \"First Come First Served\" tags, and we don't want to have to do that for\n// every new tag we create. Most of these tags have been replaced by \"First Come\n// First Served\" tags in the range of 40000+.\n\nexport const SEED_V1: Tag = createTag(300, \"crypto-seed\");\nexport const EC_KEY_V1: Tag = createTag(306, \"crypto-eckey\");\nexport const SSKR_SHARE_V1: Tag = createTag(309, \"crypto-sskr\");\n\nexport const HDKEY_V1: Tag = createTag(303, \"crypto-hdkey\");\nexport const DERIVATION_PATH_V1: Tag = createTag(304, \"crypto-keypath\");\nexport const USE_INFO_V1: Tag = createTag(305, \"crypto-coin-info\");\nexport const OUTPUT_DESCRIPTOR_V1: Tag = createTag(307, \"crypto-output\");\nexport const PSBT_V1: Tag = createTag(310, \"crypto-psbt\");\nexport const ACCOUNT_V1: Tag = createTag(311, \"crypto-account\");\n\n// ============================================================================\n// Tags for subtypes specific to AccountBundle (crypto-output).\n// ============================================================================\n\nexport const OUTPUT_SCRIPT_HASH: Tag = createTag(400, \"output-script-hash\");\nexport const OUTPUT_WITNESS_SCRIPT_HASH: Tag = createTag(401, \"output-witness-script-hash\");\nexport const OUTPUT_PUBLIC_KEY: Tag = createTag(402, \"output-public-key\");\nexport const OUTPUT_PUBLIC_KEY_HASH: Tag = createTag(403, \"output-public-key-hash\");\nexport const OUTPUT_WITNESS_PUBLIC_KEY_HASH: Tag = createTag(404, \"output-witness-public-key-hash\");\nexport const OUTPUT_COMBO: Tag = createTag(405, \"output-combo\");\nexport const OUTPUT_MULTISIG: Tag = createTag(406, \"output-multisig\");\nexport const OUTPUT_SORTED_MULTISIG: Tag = createTag(407, \"output-sorted-multisig\");\nexport const OUTPUT_RAW_SCRIPT: Tag = createTag(408, \"output-raw-script\");\nexport const OUTPUT_TAPROOT: Tag = createTag(409, \"output-taproot\");\nexport const OUTPUT_COSIGNER: Tag = createTag(410, \"output-cosigner\");\n\n// ============================================================================\n// Registration Functions\n// ============================================================================\n\n/**\n * Register all Blockchain Commons tags in a specific tags store.\n * This matches the Rust function `register_tags_in()`.\n *\n * @param tagsStore - The tags store to register tags into\n */\nexport function registerTagsIn(tagsStore: TagsStore): void {\n // First register dcbor's tags\n registerDcborTagsIn(tagsStore);\n\n // Then register all Blockchain Commons tags\n const tags: Tag[] = [\n URI,\n UUID,\n ENCODED_CBOR,\n ENVELOPE,\n LEAF,\n JSON,\n KNOWN_VALUE,\n DIGEST,\n ENCRYPTED,\n COMPRESSED,\n REQUEST,\n RESPONSE,\n FUNCTION,\n PARAMETER,\n PLACEHOLDER,\n REPLACEMENT,\n EVENT,\n SEED_V1,\n EC_KEY_V1,\n SSKR_SHARE_V1,\n SEED,\n EC_KEY,\n SSKR_SHARE,\n X25519_PRIVATE_KEY,\n X25519_PUBLIC_KEY,\n ARID,\n PRIVATE_KEYS,\n NONCE,\n PASSWORD,\n PRIVATE_KEY_BASE,\n PUBLIC_KEYS,\n SALT,\n SEALED_MESSAGE,\n SIGNATURE,\n SIGNING_PRIVATE_KEY,\n SIGNING_PUBLIC_KEY,\n SYMMETRIC_KEY,\n XID,\n REFERENCE,\n ENCRYPTED_KEY,\n MLKEM_PRIVATE_KEY,\n MLKEM_PUBLIC_KEY,\n MLKEM_CIPHERTEXT,\n MLDSA_PRIVATE_KEY,\n MLDSA_PUBLIC_KEY,\n MLDSA_SIGNATURE,\n HDKEY_V1,\n DERIVATION_PATH_V1,\n USE_INFO_V1,\n OUTPUT_DESCRIPTOR_V1,\n PSBT_V1,\n ACCOUNT_V1,\n HDKEY,\n DERIVATION_PATH,\n USE_INFO,\n ADDRESS,\n OUTPUT_DESCRIPTOR,\n PSBT,\n ACCOUNT_DESCRIPTOR,\n SSH_TEXT_PRIVATE_KEY,\n SSH_TEXT_PUBLIC_KEY,\n SSH_TEXT_SIGNATURE,\n SSH_TEXT_CERTIFICATE,\n OUTPUT_SCRIPT_HASH,\n OUTPUT_WITNESS_SCRIPT_HASH,\n OUTPUT_PUBLIC_KEY,\n OUTPUT_PUBLIC_KEY_HASH,\n OUTPUT_WITNESS_PUBLIC_KEY_HASH,\n OUTPUT_COMBO,\n OUTPUT_MULTISIG,\n OUTPUT_SORTED_MULTISIG,\n OUTPUT_RAW_SCRIPT,\n OUTPUT_TAPROOT,\n OUTPUT_COSIGNER,\n PROVENANCE_MARK,\n ];\n\n tagsStore.insertAll(tags);\n}\n\n/**\n * Register all Blockchain Commons tags in the global tags store.\n * This matches the Rust function `register_tags()`.\n *\n * This function is idempotent - calling it multiple times is safe.\n */\nexport function registerTags(): void {\n const globalStore = getGlobalTagsStore();\n registerTagsIn(globalStore);\n}\n"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -2,6 +2,10 @@ import { createTag, getGlobalTagsStore, getGlobalTagsStore as getGlobalTagsStore
|
|
|
2
2
|
|
|
3
3
|
//#region src/tags-registry.ts
|
|
4
4
|
/**
|
|
5
|
+
* Copyright © 2023-2026 Blockchain Commons, LLC
|
|
6
|
+
* Copyright © 2025-2026 Parity Technologies
|
|
7
|
+
*
|
|
8
|
+
*
|
|
5
9
|
* CBOR Tags Registry
|
|
6
10
|
*
|
|
7
11
|
* This is a 1:1 port of the Rust bc-tags-rust implementation.
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["getGlobalTagsStore"],"sources":["../src/tags-registry.ts"],"sourcesContent":["/**\n * CBOR Tags Registry\n *\n * This is a 1:1 port of the Rust bc-tags-rust implementation.\n *\n * @see https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md\n *\n * As of August 13 2022, the [IANA registry of CBOR tags](https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml)\n * has the following low-numbered values available:\n *\n * One byte encoding: 6-15, 19-20\n * Two byte encoding: 48-51, 53, 55-60, 62, 88-95, 99, 102, 105-109, 113-119,\n * 128-255\n *\n * Tags in the range 0-23 require \"standards action\" for the IANA to recognize.\n * Tags in the range 24-32767 require a specification to reserve.\n * Tags in the range 24-255 only require two bytes to encode.\n * Higher numbered tags are first-come, first-served.\n */\n\nimport {\n type Tag,\n createTag,\n type TagsStore,\n getGlobalTagsStore,\n registerTagsIn as registerDcborTagsIn,\n} from \"@bcts/dcbor\";\n\n// ============================================================================\n// Standard IANA Tags (re-used from dcbor but defined here for completeness)\n// ============================================================================\n\nexport const URI: Tag = createTag(32, \"url\");\nexport const UUID: Tag = createTag(37, \"uuid\");\n\n// A previous version of the Envelope spec used tag #6.24 (\"Encoded CBOR Item\")\n// as the header for the Envelope `leaf` case. Unfortunately, this was not a\n// correct use of the tag, as the contents of #6.24 (RFC8949 §3.4.5.1) MUST\n// always be a byte string, while we were simply using it as a wrapper/header\n// for any dCBOR data item.\n//\n// https://www.rfc-editor.org/rfc/rfc8949.html#name-encoded-cbor-data-item\n//\n// The new leaf tag is #6.201, but we will still recognize #6.24 for backwards\n// compatibility.\n\n// The only two tags that Blockchain Commons has registered in the\n// \"Specification Required\" range are the two tags for \"Gordian Envelope\"\n// (#6.200) and \"dCBOR/Envelope Leaf\" (#6.201).\n\n// ============================================================================\n// Core Envelope tags.\n// ============================================================================\n\nexport const ENCODED_CBOR: Tag = createTag(24, \"encoded-cbor\");\nexport const ENVELOPE: Tag = createTag(200, \"envelope\");\nexport const LEAF: Tag = createTag(201, \"leaf\"); // dCBOR data item\nexport const JSON: Tag = createTag(262, \"json\"); // bstr containing UTF-8 JSON text\n\n// ============================================================================\n// Envelope extension tags\n// ============================================================================\n\nexport const KNOWN_VALUE: Tag = createTag(40000, \"known-value\");\nexport const DIGEST: Tag = createTag(40001, \"digest\");\nexport const ENCRYPTED: Tag = createTag(40002, \"encrypted\");\nexport const COMPRESSED: Tag = createTag(40003, \"compressed\");\n\n// ============================================================================\n// Tags for subtypes specific to Distributed Function Calls.\n// ============================================================================\n\nexport const REQUEST: Tag = createTag(40004, \"request\");\nexport const RESPONSE: Tag = createTag(40005, \"response\");\nexport const FUNCTION: Tag = createTag(40006, \"function\");\nexport const PARAMETER: Tag = createTag(40007, \"parameter\");\nexport const PLACEHOLDER: Tag = createTag(40008, \"placeholder\");\nexport const REPLACEMENT: Tag = createTag(40009, \"replacement\");\n\nexport const X25519_PRIVATE_KEY: Tag = createTag(40010, \"agreement-private-key\");\nexport const X25519_PUBLIC_KEY: Tag = createTag(40011, \"agreement-public-key\");\nexport const ARID: Tag = createTag(40012, \"arid\");\nexport const PRIVATE_KEYS: Tag = createTag(40013, \"crypto-prvkeys\");\nexport const NONCE: Tag = createTag(40014, \"nonce\");\nexport const PASSWORD: Tag = createTag(40015, \"password\");\nexport const PRIVATE_KEY_BASE: Tag = createTag(40016, \"crypto-prvkey-base\");\n\nexport const PUBLIC_KEYS: Tag = createTag(40017, \"crypto-pubkeys\");\nexport const SALT: Tag = createTag(40018, \"salt\");\nexport const SEALED_MESSAGE: Tag = createTag(40019, \"crypto-sealed\");\nexport const SIGNATURE: Tag = createTag(40020, \"signature\");\nexport const SIGNING_PRIVATE_KEY: Tag = createTag(40021, \"signing-private-key\");\nexport const SIGNING_PUBLIC_KEY: Tag = createTag(40022, \"signing-public-key\");\nexport const SYMMETRIC_KEY: Tag = createTag(40023, \"crypto-key\");\nexport const XID: Tag = createTag(40024, \"xid\");\nexport const REFERENCE: Tag = createTag(40025, \"reference\");\nexport const EVENT: Tag = createTag(40026, \"event\");\n\nexport const ENCRYPTED_KEY: Tag = createTag(40027, \"encrypted-key\");\nexport const MLKEM_PRIVATE_KEY: Tag = createTag(40100, \"mlkem-private-key\");\nexport const MLKEM_PUBLIC_KEY: Tag = createTag(40101, \"mlkem-public-key\");\nexport const MLKEM_CIPHERTEXT: Tag = createTag(40102, \"mlkem-ciphertext\");\nexport const MLDSA_PRIVATE_KEY: Tag = createTag(40103, \"mldsa-private-key\");\nexport const MLDSA_PUBLIC_KEY: Tag = createTag(40104, \"mldsa-public-key\");\nexport const MLDSA_SIGNATURE: Tag = createTag(40105, \"mldsa-signature\");\nexport const SEED: Tag = createTag(40300, \"seed\");\nexport const HDKEY: Tag = createTag(40303, \"hdkey\");\nexport const DERIVATION_PATH: Tag = createTag(40304, \"keypath\");\n\nexport const USE_INFO: Tag = createTag(40305, \"coin-info\");\nexport const EC_KEY: Tag = createTag(40306, \"eckey\");\nexport const ADDRESS: Tag = createTag(40307, \"address\");\nexport const OUTPUT_DESCRIPTOR: Tag = createTag(40308, \"output-descriptor\");\nexport const SSKR_SHARE: Tag = createTag(40309, \"sskr\");\nexport const PSBT: Tag = createTag(40310, \"psbt\");\nexport const ACCOUNT_DESCRIPTOR: Tag = createTag(40311, \"account-descriptor\");\nexport const SSH_TEXT_PRIVATE_KEY: Tag = createTag(40800, \"ssh-private\");\nexport const SSH_TEXT_PUBLIC_KEY: Tag = createTag(40801, \"ssh-public\");\nexport const SSH_TEXT_SIGNATURE: Tag = createTag(40802, \"ssh-signature\");\nexport const SSH_TEXT_CERTIFICATE: Tag = createTag(40803, \"ssh-certificate\");\n\nexport const PROVENANCE_MARK: Tag = createTag(1347571542, \"provenance\");\n\n// ============================================================================\n// DEPRECATED TAGS\n// ============================================================================\n//\n// The following tags are deprecated and should not be used in new code.\n// Unfortunately, they are likely to be in active use by external developers,\n// but should never have been used as they are in the range of CBOR tags\n// requiring \"Specification\" action by IANA, which requires IANA experts to\n// review and approve the specification. These are harder to get approved than\n// \"First Come First Served\" tags, and we don't want to have to do that for\n// every new tag we create. Most of these tags have been replaced by \"First Come\n// First Served\" tags in the range of 40000+.\n\nexport const SEED_V1: Tag = createTag(300, \"crypto-seed\");\nexport const EC_KEY_V1: Tag = createTag(306, \"crypto-eckey\");\nexport const SSKR_SHARE_V1: Tag = createTag(309, \"crypto-sskr\");\n\nexport const HDKEY_V1: Tag = createTag(303, \"crypto-hdkey\");\nexport const DERIVATION_PATH_V1: Tag = createTag(304, \"crypto-keypath\");\nexport const USE_INFO_V1: Tag = createTag(305, \"crypto-coin-info\");\nexport const OUTPUT_DESCRIPTOR_V1: Tag = createTag(307, \"crypto-output\");\nexport const PSBT_V1: Tag = createTag(310, \"crypto-psbt\");\nexport const ACCOUNT_V1: Tag = createTag(311, \"crypto-account\");\n\n// ============================================================================\n// Tags for subtypes specific to AccountBundle (crypto-output).\n// ============================================================================\n\nexport const OUTPUT_SCRIPT_HASH: Tag = createTag(400, \"output-script-hash\");\nexport const OUTPUT_WITNESS_SCRIPT_HASH: Tag = createTag(401, \"output-witness-script-hash\");\nexport const OUTPUT_PUBLIC_KEY: Tag = createTag(402, \"output-public-key\");\nexport const OUTPUT_PUBLIC_KEY_HASH: Tag = createTag(403, \"output-public-key-hash\");\nexport const OUTPUT_WITNESS_PUBLIC_KEY_HASH: Tag = createTag(404, \"output-witness-public-key-hash\");\nexport const OUTPUT_COMBO: Tag = createTag(405, \"output-combo\");\nexport const OUTPUT_MULTISIG: Tag = createTag(406, \"output-multisig\");\nexport const OUTPUT_SORTED_MULTISIG: Tag = createTag(407, \"output-sorted-multisig\");\nexport const OUTPUT_RAW_SCRIPT: Tag = createTag(408, \"output-raw-script\");\nexport const OUTPUT_TAPROOT: Tag = createTag(409, \"output-taproot\");\nexport const OUTPUT_COSIGNER: Tag = createTag(410, \"output-cosigner\");\n\n// ============================================================================\n// Registration Functions\n// ============================================================================\n\n/**\n * Register all Blockchain Commons tags in a specific tags store.\n * This matches the Rust function `register_tags_in()`.\n *\n * @param tagsStore - The tags store to register tags into\n */\nexport function registerTagsIn(tagsStore: TagsStore): void {\n // First register dcbor's tags\n registerDcborTagsIn(tagsStore);\n\n // Then register all Blockchain Commons tags\n const tags: Tag[] = [\n URI,\n UUID,\n ENCODED_CBOR,\n ENVELOPE,\n LEAF,\n JSON,\n KNOWN_VALUE,\n DIGEST,\n ENCRYPTED,\n COMPRESSED,\n REQUEST,\n RESPONSE,\n FUNCTION,\n PARAMETER,\n PLACEHOLDER,\n REPLACEMENT,\n EVENT,\n SEED_V1,\n EC_KEY_V1,\n SSKR_SHARE_V1,\n SEED,\n EC_KEY,\n SSKR_SHARE,\n X25519_PRIVATE_KEY,\n X25519_PUBLIC_KEY,\n ARID,\n PRIVATE_KEYS,\n NONCE,\n PASSWORD,\n PRIVATE_KEY_BASE,\n PUBLIC_KEYS,\n SALT,\n SEALED_MESSAGE,\n SIGNATURE,\n SIGNING_PRIVATE_KEY,\n SIGNING_PUBLIC_KEY,\n SYMMETRIC_KEY,\n XID,\n REFERENCE,\n ENCRYPTED_KEY,\n MLKEM_PRIVATE_KEY,\n MLKEM_PUBLIC_KEY,\n MLKEM_CIPHERTEXT,\n MLDSA_PRIVATE_KEY,\n MLDSA_PUBLIC_KEY,\n MLDSA_SIGNATURE,\n HDKEY_V1,\n DERIVATION_PATH_V1,\n USE_INFO_V1,\n OUTPUT_DESCRIPTOR_V1,\n PSBT_V1,\n ACCOUNT_V1,\n HDKEY,\n DERIVATION_PATH,\n USE_INFO,\n ADDRESS,\n OUTPUT_DESCRIPTOR,\n PSBT,\n ACCOUNT_DESCRIPTOR,\n SSH_TEXT_PRIVATE_KEY,\n SSH_TEXT_PUBLIC_KEY,\n SSH_TEXT_SIGNATURE,\n SSH_TEXT_CERTIFICATE,\n OUTPUT_SCRIPT_HASH,\n OUTPUT_WITNESS_SCRIPT_HASH,\n OUTPUT_PUBLIC_KEY,\n OUTPUT_PUBLIC_KEY_HASH,\n OUTPUT_WITNESS_PUBLIC_KEY_HASH,\n OUTPUT_COMBO,\n OUTPUT_MULTISIG,\n OUTPUT_SORTED_MULTISIG,\n OUTPUT_RAW_SCRIPT,\n OUTPUT_TAPROOT,\n OUTPUT_COSIGNER,\n PROVENANCE_MARK,\n ];\n\n tagsStore.insertAll(tags);\n}\n\n/**\n * Register all Blockchain Commons tags in the global tags store.\n * This matches the Rust function `register_tags()`.\n *\n * This function is idempotent - calling it multiple times is safe.\n */\nexport function registerTags(): void {\n const globalStore = getGlobalTagsStore();\n registerTagsIn(globalStore);\n}\n"],"mappings":"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;AACnF,MAAa,oBAAyB,UAAU,KAAK,oBAAoB;AACzE,MAAa,iBAAsB,UAAU,KAAK,iBAAiB;AACnE,MAAa,kBAAuB,UAAU,KAAK,kBAAkB;;;;;;;AAYrE,SAAgB,eAAe,WAA4B;AAEzD,kBAAoB,UAAU;CAG9B,MAAM,OAAc;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;AAED,WAAU,UAAU,KAAK;;;;;;;;AAS3B,SAAgB,eAAqB;AAEnC,gBADoBA,sBAAoB,CACb"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["getGlobalTagsStore"],"sources":["../src/tags-registry.ts"],"sourcesContent":["/**\n * Copyright © 2023-2026 Blockchain Commons, LLC\n * Copyright © 2025-2026 Parity Technologies\n *\n *\n * CBOR Tags Registry\n *\n * This is a 1:1 port of the Rust bc-tags-rust implementation.\n *\n * @see https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md\n *\n * As of August 13 2022, the [IANA registry of CBOR tags](https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml)\n * has the following low-numbered values available:\n *\n * One byte encoding: 6-15, 19-20\n * Two byte encoding: 48-51, 53, 55-60, 62, 88-95, 99, 102, 105-109, 113-119,\n * 128-255\n *\n * Tags in the range 0-23 require \"standards action\" for the IANA to recognize.\n * Tags in the range 24-32767 require a specification to reserve.\n * Tags in the range 24-255 only require two bytes to encode.\n * Higher numbered tags are first-come, first-served.\n */\n\nimport {\n type Tag,\n createTag,\n type TagsStore,\n getGlobalTagsStore,\n registerTagsIn as registerDcborTagsIn,\n} from \"@bcts/dcbor\";\n\n// ============================================================================\n// Standard IANA Tags (re-used from dcbor but defined here for completeness)\n// ============================================================================\n\nexport const URI: Tag = createTag(32, \"url\");\nexport const UUID: Tag = createTag(37, \"uuid\");\n\n// A previous version of the Envelope spec used tag #6.24 (\"Encoded CBOR Item\")\n// as the header for the Envelope `leaf` case. Unfortunately, this was not a\n// correct use of the tag, as the contents of #6.24 (RFC8949 §3.4.5.1) MUST\n// always be a byte string, while we were simply using it as a wrapper/header\n// for any dCBOR data item.\n//\n// https://www.rfc-editor.org/rfc/rfc8949.html#name-encoded-cbor-data-item\n//\n// The new leaf tag is #6.201, but we will still recognize #6.24 for backwards\n// compatibility.\n\n// The only two tags that Blockchain Commons has registered in the\n// \"Specification Required\" range are the two tags for \"Gordian Envelope\"\n// (#6.200) and \"dCBOR/Envelope Leaf\" (#6.201).\n\n// ============================================================================\n// Core Envelope tags.\n// ============================================================================\n\nexport const ENCODED_CBOR: Tag = createTag(24, \"encoded-cbor\");\nexport const ENVELOPE: Tag = createTag(200, \"envelope\");\nexport const LEAF: Tag = createTag(201, \"leaf\"); // dCBOR data item\nexport const JSON: Tag = createTag(262, \"json\"); // bstr containing UTF-8 JSON text\n\n// ============================================================================\n// Envelope extension tags\n// ============================================================================\n\nexport const KNOWN_VALUE: Tag = createTag(40000, \"known-value\");\nexport const DIGEST: Tag = createTag(40001, \"digest\");\nexport const ENCRYPTED: Tag = createTag(40002, \"encrypted\");\nexport const COMPRESSED: Tag = createTag(40003, \"compressed\");\n\n// ============================================================================\n// Tags for subtypes specific to Distributed Function Calls.\n// ============================================================================\n\nexport const REQUEST: Tag = createTag(40004, \"request\");\nexport const RESPONSE: Tag = createTag(40005, \"response\");\nexport const FUNCTION: Tag = createTag(40006, \"function\");\nexport const PARAMETER: Tag = createTag(40007, \"parameter\");\nexport const PLACEHOLDER: Tag = createTag(40008, \"placeholder\");\nexport const REPLACEMENT: Tag = createTag(40009, \"replacement\");\n\nexport const X25519_PRIVATE_KEY: Tag = createTag(40010, \"agreement-private-key\");\nexport const X25519_PUBLIC_KEY: Tag = createTag(40011, \"agreement-public-key\");\nexport const ARID: Tag = createTag(40012, \"arid\");\nexport const PRIVATE_KEYS: Tag = createTag(40013, \"crypto-prvkeys\");\nexport const NONCE: Tag = createTag(40014, \"nonce\");\nexport const PASSWORD: Tag = createTag(40015, \"password\");\nexport const PRIVATE_KEY_BASE: Tag = createTag(40016, \"crypto-prvkey-base\");\n\nexport const PUBLIC_KEYS: Tag = createTag(40017, \"crypto-pubkeys\");\nexport const SALT: Tag = createTag(40018, \"salt\");\nexport const SEALED_MESSAGE: Tag = createTag(40019, \"crypto-sealed\");\nexport const SIGNATURE: Tag = createTag(40020, \"signature\");\nexport const SIGNING_PRIVATE_KEY: Tag = createTag(40021, \"signing-private-key\");\nexport const SIGNING_PUBLIC_KEY: Tag = createTag(40022, \"signing-public-key\");\nexport const SYMMETRIC_KEY: Tag = createTag(40023, \"crypto-key\");\nexport const XID: Tag = createTag(40024, \"xid\");\nexport const REFERENCE: Tag = createTag(40025, \"reference\");\nexport const EVENT: Tag = createTag(40026, \"event\");\n\nexport const ENCRYPTED_KEY: Tag = createTag(40027, \"encrypted-key\");\nexport const MLKEM_PRIVATE_KEY: Tag = createTag(40100, \"mlkem-private-key\");\nexport const MLKEM_PUBLIC_KEY: Tag = createTag(40101, \"mlkem-public-key\");\nexport const MLKEM_CIPHERTEXT: Tag = createTag(40102, \"mlkem-ciphertext\");\nexport const MLDSA_PRIVATE_KEY: Tag = createTag(40103, \"mldsa-private-key\");\nexport const MLDSA_PUBLIC_KEY: Tag = createTag(40104, \"mldsa-public-key\");\nexport const MLDSA_SIGNATURE: Tag = createTag(40105, \"mldsa-signature\");\nexport const SEED: Tag = createTag(40300, \"seed\");\nexport const HDKEY: Tag = createTag(40303, \"hdkey\");\nexport const DERIVATION_PATH: Tag = createTag(40304, \"keypath\");\n\nexport const USE_INFO: Tag = createTag(40305, \"coin-info\");\nexport const EC_KEY: Tag = createTag(40306, \"eckey\");\nexport const ADDRESS: Tag = createTag(40307, \"address\");\nexport const OUTPUT_DESCRIPTOR: Tag = createTag(40308, \"output-descriptor\");\nexport const SSKR_SHARE: Tag = createTag(40309, \"sskr\");\nexport const PSBT: Tag = createTag(40310, \"psbt\");\nexport const ACCOUNT_DESCRIPTOR: Tag = createTag(40311, \"account-descriptor\");\nexport const SSH_TEXT_PRIVATE_KEY: Tag = createTag(40800, \"ssh-private\");\nexport const SSH_TEXT_PUBLIC_KEY: Tag = createTag(40801, \"ssh-public\");\nexport const SSH_TEXT_SIGNATURE: Tag = createTag(40802, \"ssh-signature\");\nexport const SSH_TEXT_CERTIFICATE: Tag = createTag(40803, \"ssh-certificate\");\n\nexport const PROVENANCE_MARK: Tag = createTag(1347571542, \"provenance\");\n\n// ============================================================================\n// DEPRECATED TAGS\n// ============================================================================\n//\n// The following tags are deprecated and should not be used in new code.\n// Unfortunately, they are likely to be in active use by external developers,\n// but should never have been used as they are in the range of CBOR tags\n// requiring \"Specification\" action by IANA, which requires IANA experts to\n// review and approve the specification. These are harder to get approved than\n// \"First Come First Served\" tags, and we don't want to have to do that for\n// every new tag we create. Most of these tags have been replaced by \"First Come\n// First Served\" tags in the range of 40000+.\n\nexport const SEED_V1: Tag = createTag(300, \"crypto-seed\");\nexport const EC_KEY_V1: Tag = createTag(306, \"crypto-eckey\");\nexport const SSKR_SHARE_V1: Tag = createTag(309, \"crypto-sskr\");\n\nexport const HDKEY_V1: Tag = createTag(303, \"crypto-hdkey\");\nexport const DERIVATION_PATH_V1: Tag = createTag(304, \"crypto-keypath\");\nexport const USE_INFO_V1: Tag = createTag(305, \"crypto-coin-info\");\nexport const OUTPUT_DESCRIPTOR_V1: Tag = createTag(307, \"crypto-output\");\nexport const PSBT_V1: Tag = createTag(310, \"crypto-psbt\");\nexport const ACCOUNT_V1: Tag = createTag(311, \"crypto-account\");\n\n// ============================================================================\n// Tags for subtypes specific to AccountBundle (crypto-output).\n// ============================================================================\n\nexport const OUTPUT_SCRIPT_HASH: Tag = createTag(400, \"output-script-hash\");\nexport const OUTPUT_WITNESS_SCRIPT_HASH: Tag = createTag(401, \"output-witness-script-hash\");\nexport const OUTPUT_PUBLIC_KEY: Tag = createTag(402, \"output-public-key\");\nexport const OUTPUT_PUBLIC_KEY_HASH: Tag = createTag(403, \"output-public-key-hash\");\nexport const OUTPUT_WITNESS_PUBLIC_KEY_HASH: Tag = createTag(404, \"output-witness-public-key-hash\");\nexport const OUTPUT_COMBO: Tag = createTag(405, \"output-combo\");\nexport const OUTPUT_MULTISIG: Tag = createTag(406, \"output-multisig\");\nexport const OUTPUT_SORTED_MULTISIG: Tag = createTag(407, \"output-sorted-multisig\");\nexport const OUTPUT_RAW_SCRIPT: Tag = createTag(408, \"output-raw-script\");\nexport const OUTPUT_TAPROOT: Tag = createTag(409, \"output-taproot\");\nexport const OUTPUT_COSIGNER: Tag = createTag(410, \"output-cosigner\");\n\n// ============================================================================\n// Registration Functions\n// ============================================================================\n\n/**\n * Register all Blockchain Commons tags in a specific tags store.\n * This matches the Rust function `register_tags_in()`.\n *\n * @param tagsStore - The tags store to register tags into\n */\nexport function registerTagsIn(tagsStore: TagsStore): void {\n // First register dcbor's tags\n registerDcborTagsIn(tagsStore);\n\n // Then register all Blockchain Commons tags\n const tags: Tag[] = [\n URI,\n UUID,\n ENCODED_CBOR,\n ENVELOPE,\n LEAF,\n JSON,\n KNOWN_VALUE,\n DIGEST,\n ENCRYPTED,\n COMPRESSED,\n REQUEST,\n RESPONSE,\n FUNCTION,\n PARAMETER,\n PLACEHOLDER,\n REPLACEMENT,\n EVENT,\n SEED_V1,\n EC_KEY_V1,\n SSKR_SHARE_V1,\n SEED,\n EC_KEY,\n SSKR_SHARE,\n X25519_PRIVATE_KEY,\n X25519_PUBLIC_KEY,\n ARID,\n PRIVATE_KEYS,\n NONCE,\n PASSWORD,\n PRIVATE_KEY_BASE,\n PUBLIC_KEYS,\n SALT,\n SEALED_MESSAGE,\n SIGNATURE,\n SIGNING_PRIVATE_KEY,\n SIGNING_PUBLIC_KEY,\n SYMMETRIC_KEY,\n XID,\n REFERENCE,\n ENCRYPTED_KEY,\n MLKEM_PRIVATE_KEY,\n MLKEM_PUBLIC_KEY,\n MLKEM_CIPHERTEXT,\n MLDSA_PRIVATE_KEY,\n MLDSA_PUBLIC_KEY,\n MLDSA_SIGNATURE,\n HDKEY_V1,\n DERIVATION_PATH_V1,\n USE_INFO_V1,\n OUTPUT_DESCRIPTOR_V1,\n PSBT_V1,\n ACCOUNT_V1,\n HDKEY,\n DERIVATION_PATH,\n USE_INFO,\n ADDRESS,\n OUTPUT_DESCRIPTOR,\n PSBT,\n ACCOUNT_DESCRIPTOR,\n SSH_TEXT_PRIVATE_KEY,\n SSH_TEXT_PUBLIC_KEY,\n SSH_TEXT_SIGNATURE,\n SSH_TEXT_CERTIFICATE,\n OUTPUT_SCRIPT_HASH,\n OUTPUT_WITNESS_SCRIPT_HASH,\n OUTPUT_PUBLIC_KEY,\n OUTPUT_PUBLIC_KEY_HASH,\n OUTPUT_WITNESS_PUBLIC_KEY_HASH,\n OUTPUT_COMBO,\n OUTPUT_MULTISIG,\n OUTPUT_SORTED_MULTISIG,\n OUTPUT_RAW_SCRIPT,\n OUTPUT_TAPROOT,\n OUTPUT_COSIGNER,\n PROVENANCE_MARK,\n ];\n\n tagsStore.insertAll(tags);\n}\n\n/**\n * Register all Blockchain Commons tags in the global tags store.\n * This matches the Rust function `register_tags()`.\n *\n * This function is idempotent - calling it multiple times is safe.\n */\nexport function registerTags(): void {\n const globalStore = getGlobalTagsStore();\n registerTagsIn(globalStore);\n}\n"],"mappings":"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AAyB;AACnF,MAAa,oBAAyB,UAAU,KAAK,oBAAoB;AACzE,MAAa,iBAAsB,UAAU,KAAK,iBAAiB;AACnE,MAAa,kBAAuB,UAAU,KAAK,kBAAkB;;;;;;;AAYrE,SAAgB,eAAe,WAA4B;AAEzD,kBAAoB,UAAU;CAG9B,MAAM,OAAc;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;AAED,WAAU,UAAU,KAAK;;;;;;;;AAS3B,SAAgB,eAAqB;AAEnC,gBADoBA,sBAAoB,CACb"}
|
package/package.json
CHANGED
|
@@ -1,29 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bcts/tags",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.22",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Blockchain Commons CBOR Tags Registry for TypeScript",
|
|
6
6
|
"license": "BSD-2-Clause-Patent",
|
|
7
|
-
"
|
|
8
|
-
{
|
|
9
|
-
"name": "Leonardo Custodio",
|
|
10
|
-
"email": "leonardo.custodio@parity.io",
|
|
11
|
-
"url": "https://github.com/leonardocustodio"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"name": "Karim Jedda",
|
|
15
|
-
"email": "karim@parity.io",
|
|
16
|
-
"url": "https://github.com/KarimJedda"
|
|
17
|
-
}
|
|
18
|
-
],
|
|
7
|
+
"author": "Parity Technologies <admin@parity.io> (https://parity.io)",
|
|
19
8
|
"homepage": "https://bcts.dev",
|
|
20
9
|
"repository": {
|
|
21
10
|
"type": "git",
|
|
22
|
-
"url": "https://github.com/
|
|
11
|
+
"url": "https://github.com/paritytech/bcts",
|
|
23
12
|
"directory": "packages/tags"
|
|
24
13
|
},
|
|
25
14
|
"bugs": {
|
|
26
|
-
"url": "https://github.com/
|
|
15
|
+
"url": "https://github.com/paritytech/bcts/issues"
|
|
27
16
|
},
|
|
28
17
|
"main": "dist/index.cjs",
|
|
29
18
|
"module": "dist/index.mjs",
|
|
@@ -67,17 +56,17 @@
|
|
|
67
56
|
"devDependencies": {
|
|
68
57
|
"@bcts/eslint": "^0.1.0",
|
|
69
58
|
"@bcts/tsconfig": "^0.1.0",
|
|
70
|
-
"@eslint/js": "^
|
|
71
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
72
|
-
"@typescript-eslint/parser": "^8.
|
|
73
|
-
"eslint": "^
|
|
59
|
+
"@eslint/js": "^10.0.1",
|
|
60
|
+
"@typescript-eslint/eslint-plugin": "^8.56.1",
|
|
61
|
+
"@typescript-eslint/parser": "^8.56.1",
|
|
62
|
+
"eslint": "^10.0.2",
|
|
74
63
|
"ts-node": "^10.9.2",
|
|
75
64
|
"tsdown": "^0.20.3",
|
|
76
|
-
"typedoc": "^0.28.
|
|
65
|
+
"typedoc": "^0.28.17",
|
|
77
66
|
"typescript": "^5.9.3",
|
|
78
67
|
"vitest": "^4.0.18"
|
|
79
68
|
},
|
|
80
69
|
"dependencies": {
|
|
81
|
-
"@bcts/dcbor": "^1.0.0-alpha.
|
|
70
|
+
"@bcts/dcbor": "^1.0.0-alpha.22"
|
|
82
71
|
}
|
|
83
72
|
}
|
package/src/index.ts
CHANGED