@bcts/tags 1.0.0-alpha.5

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 ADDED
@@ -0,0 +1,48 @@
1
+ Copyright © 2025 Blockchain Commons, LLC
2
+ Copyright © 2025 Leonardo Amoroso Custodio
3
+
4
+ Redistribution and use in source and binary forms, with or without modification,
5
+ are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice,
8
+ this list of conditions and the following disclaimer.
9
+
10
+ 2. Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+
14
+ Subject to the terms and conditions of this license, each copyright holder and
15
+ contributor hereby grants to those receiving rights under this license a
16
+ perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
17
+ (except for failure to satisfy the conditions of this license) patent license to
18
+ make, have made, use, offer to sell, sell, import, and otherwise transfer this
19
+ software, where such license applies only to those patent claims, already
20
+ acquired or hereafter acquired, licensable by such copyright holder or
21
+ contributor that are necessarily infringed by:
22
+
23
+ (a) their Contribution(s) (the licensed copyrights of copyright holders and
24
+ non-copyrightable additions of contributors, in source or binary form)
25
+ alone; or
26
+
27
+ (b) combination of their Contribution(s) with the work of authorship to
28
+ which such Contribution(s) was added by such copyright holder or
29
+ contributor, if, at the time the Contribution is added, such addition causes
30
+ such combination to be necessarily infringed. The patent license shall not
31
+ apply to any other combinations which include the Contribution.
32
+
33
+ Except as expressly stated above, no rights or licenses from any copyright
34
+ holder or contributor is granted under this license, whether expressly, by
35
+ implication, estoppel or otherwise.
36
+
37
+ DISCLAIMER
38
+
39
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
40
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
41
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
42
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
43
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
44
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
45
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
46
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
47
+ TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
48
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # Blockchain Commons CBOR Tags for TypeScript
2
+
3
+ > Disclaimer: This package is under active development and APIs may change.
4
+
5
+ ## Introduction
6
+
7
+ This package defines the CBOR tags for serialized data types used in Blockchain Commons projects.
8
+
9
+ ## Rust Reference Implementation
10
+
11
+ This TypeScript implementation is based on [bc-tags-rust](https://github.com/BlockchainCommons/bc-tags-rust) **v0.11.0** ([commit](https://github.com/BlockchainCommons/bc-tags-rust/tree/4854dab8566e44412331fa1a8e4919785b1d4bba)).
package/dist/index.cjs ADDED
@@ -0,0 +1,273 @@
1
+ let __bcts_dcbor = require("@bcts/dcbor");
2
+
3
+ //#region src/tags-registry.ts
4
+ /**
5
+ * CBOR Tags Registry
6
+ *
7
+ * This is a 1:1 port of the Rust bc-tags-rust implementation.
8
+ *
9
+ * @see https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md
10
+ *
11
+ * As of August 13 2022, the [IANA registry of CBOR tags](https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml)
12
+ * has the following low-numbered values available:
13
+ *
14
+ * One byte encoding: 6-15, 19-20
15
+ * Two byte encoding: 48-51, 53, 55-60, 62, 88-95, 99, 102, 105-109, 113-119,
16
+ * 128-255
17
+ *
18
+ * Tags in the range 0-23 require "standards action" for the IANA to recognize.
19
+ * Tags in the range 24-32767 require a specification to reserve.
20
+ * Tags in the range 24-255 only require two bytes to encode.
21
+ * Higher numbered tags are first-come, first-served.
22
+ */
23
+ const URI = (0, __bcts_dcbor.createTag)(32, "url");
24
+ const UUID = (0, __bcts_dcbor.createTag)(37, "uuid");
25
+ const ENCODED_CBOR = (0, __bcts_dcbor.createTag)(24, "encoded-cbor");
26
+ const ENVELOPE = (0, __bcts_dcbor.createTag)(200, "envelope");
27
+ const LEAF = (0, __bcts_dcbor.createTag)(201, "leaf");
28
+ const JSON = (0, __bcts_dcbor.createTag)(262, "json");
29
+ const KNOWN_VALUE = (0, __bcts_dcbor.createTag)(4e4, "known-value");
30
+ const DIGEST = (0, __bcts_dcbor.createTag)(40001, "digest");
31
+ const ENCRYPTED = (0, __bcts_dcbor.createTag)(40002, "encrypted");
32
+ const COMPRESSED = (0, __bcts_dcbor.createTag)(40003, "compressed");
33
+ const REQUEST = (0, __bcts_dcbor.createTag)(40004, "request");
34
+ const RESPONSE = (0, __bcts_dcbor.createTag)(40005, "response");
35
+ const FUNCTION = (0, __bcts_dcbor.createTag)(40006, "function");
36
+ const PARAMETER = (0, __bcts_dcbor.createTag)(40007, "parameter");
37
+ const PLACEHOLDER = (0, __bcts_dcbor.createTag)(40008, "placeholder");
38
+ const REPLACEMENT = (0, __bcts_dcbor.createTag)(40009, "replacement");
39
+ const X25519_PRIVATE_KEY = (0, __bcts_dcbor.createTag)(40010, "agreement-private-key");
40
+ const X25519_PUBLIC_KEY = (0, __bcts_dcbor.createTag)(40011, "agreement-public-key");
41
+ const ARID = (0, __bcts_dcbor.createTag)(40012, "arid");
42
+ const PRIVATE_KEYS = (0, __bcts_dcbor.createTag)(40013, "crypto-prvkeys");
43
+ const NONCE = (0, __bcts_dcbor.createTag)(40014, "nonce");
44
+ const PASSWORD = (0, __bcts_dcbor.createTag)(40015, "password");
45
+ const PRIVATE_KEY_BASE = (0, __bcts_dcbor.createTag)(40016, "crypto-prvkey-base");
46
+ const PUBLIC_KEYS = (0, __bcts_dcbor.createTag)(40017, "crypto-pubkeys");
47
+ const SALT = (0, __bcts_dcbor.createTag)(40018, "salt");
48
+ const SEALED_MESSAGE = (0, __bcts_dcbor.createTag)(40019, "crypto-sealed");
49
+ const SIGNATURE = (0, __bcts_dcbor.createTag)(40020, "signature");
50
+ const SIGNING_PRIVATE_KEY = (0, __bcts_dcbor.createTag)(40021, "signing-private-key");
51
+ const SIGNING_PUBLIC_KEY = (0, __bcts_dcbor.createTag)(40022, "signing-public-key");
52
+ const SYMMETRIC_KEY = (0, __bcts_dcbor.createTag)(40023, "crypto-key");
53
+ const XID = (0, __bcts_dcbor.createTag)(40024, "xid");
54
+ const REFERENCE = (0, __bcts_dcbor.createTag)(40025, "reference");
55
+ const EVENT = (0, __bcts_dcbor.createTag)(40026, "event");
56
+ const ENCRYPTED_KEY = (0, __bcts_dcbor.createTag)(40027, "encrypted-key");
57
+ const MLKEM_PRIVATE_KEY = (0, __bcts_dcbor.createTag)(40100, "mlkem-private-key");
58
+ const MLKEM_PUBLIC_KEY = (0, __bcts_dcbor.createTag)(40101, "mlkem-public-key");
59
+ const MLKEM_CIPHERTEXT = (0, __bcts_dcbor.createTag)(40102, "mlkem-ciphertext");
60
+ const MLDSA_PRIVATE_KEY = (0, __bcts_dcbor.createTag)(40103, "mldsa-private-key");
61
+ const MLDSA_PUBLIC_KEY = (0, __bcts_dcbor.createTag)(40104, "mldsa-public-key");
62
+ const MLDSA_SIGNATURE = (0, __bcts_dcbor.createTag)(40105, "mldsa-signature");
63
+ const SEED = (0, __bcts_dcbor.createTag)(40300, "seed");
64
+ const HDKEY = (0, __bcts_dcbor.createTag)(40303, "hdkey");
65
+ const DERIVATION_PATH = (0, __bcts_dcbor.createTag)(40304, "keypath");
66
+ const USE_INFO = (0, __bcts_dcbor.createTag)(40305, "coin-info");
67
+ const EC_KEY = (0, __bcts_dcbor.createTag)(40306, "eckey");
68
+ const ADDRESS = (0, __bcts_dcbor.createTag)(40307, "address");
69
+ const OUTPUT_DESCRIPTOR = (0, __bcts_dcbor.createTag)(40308, "output-descriptor");
70
+ const SSKR_SHARE = (0, __bcts_dcbor.createTag)(40309, "sskr");
71
+ const PSBT = (0, __bcts_dcbor.createTag)(40310, "psbt");
72
+ const ACCOUNT_DESCRIPTOR = (0, __bcts_dcbor.createTag)(40311, "account-descriptor");
73
+ const SSH_TEXT_PRIVATE_KEY = (0, __bcts_dcbor.createTag)(40800, "ssh-private");
74
+ const SSH_TEXT_PUBLIC_KEY = (0, __bcts_dcbor.createTag)(40801, "ssh-public");
75
+ const SSH_TEXT_SIGNATURE = (0, __bcts_dcbor.createTag)(40802, "ssh-signature");
76
+ const SSH_TEXT_CERTIFICATE = (0, __bcts_dcbor.createTag)(40803, "ssh-certificate");
77
+ const PROVENANCE_MARK = (0, __bcts_dcbor.createTag)(1347571542, "provenance");
78
+ const SEED_V1 = (0, __bcts_dcbor.createTag)(300, "crypto-seed");
79
+ const EC_KEY_V1 = (0, __bcts_dcbor.createTag)(306, "crypto-eckey");
80
+ const SSKR_SHARE_V1 = (0, __bcts_dcbor.createTag)(309, "crypto-sskr");
81
+ const HDKEY_V1 = (0, __bcts_dcbor.createTag)(303, "crypto-hdkey");
82
+ const DERIVATION_PATH_V1 = (0, __bcts_dcbor.createTag)(304, "crypto-keypath");
83
+ const USE_INFO_V1 = (0, __bcts_dcbor.createTag)(305, "crypto-coin-info");
84
+ const OUTPUT_DESCRIPTOR_V1 = (0, __bcts_dcbor.createTag)(307, "crypto-output");
85
+ const PSBT_V1 = (0, __bcts_dcbor.createTag)(310, "crypto-psbt");
86
+ const ACCOUNT_V1 = (0, __bcts_dcbor.createTag)(311, "crypto-account");
87
+ const OUTPUT_SCRIPT_HASH = (0, __bcts_dcbor.createTag)(400, "output-script-hash");
88
+ const OUTPUT_WITNESS_SCRIPT_HASH = (0, __bcts_dcbor.createTag)(401, "output-witness-script-hash");
89
+ const OUTPUT_PUBLIC_KEY = (0, __bcts_dcbor.createTag)(402, "output-public-key");
90
+ const OUTPUT_PUBLIC_KEY_HASH = (0, __bcts_dcbor.createTag)(403, "output-public-key-hash");
91
+ const OUTPUT_WITNESS_PUBLIC_KEY_HASH = (0, __bcts_dcbor.createTag)(404, "output-witness-public-key-hash");
92
+ const OUTPUT_COMBO = (0, __bcts_dcbor.createTag)(405, "output-combo");
93
+ const OUTPUT_MULTISIG = (0, __bcts_dcbor.createTag)(406, "output-multisig");
94
+ const OUTPUT_SORTED_MULTISIG = (0, __bcts_dcbor.createTag)(407, "output-sorted-multisig");
95
+ const OUTPUT_RAW_SCRIPT = (0, __bcts_dcbor.createTag)(408, "output-raw-script");
96
+ const OUTPUT_TAPROOT = (0, __bcts_dcbor.createTag)(409, "output-taproot");
97
+ const OUTPUT_COSIGNER = (0, __bcts_dcbor.createTag)(410, "output-cosigner");
98
+ /**
99
+ * Register all Blockchain Commons tags in a specific tags store.
100
+ * This matches the Rust function `register_tags_in()`.
101
+ *
102
+ * @param tagsStore - The tags store to register tags into
103
+ */
104
+ function registerTagsIn(tagsStore) {
105
+ (0, __bcts_dcbor.registerTagsIn)(tagsStore);
106
+ const tags = [
107
+ URI,
108
+ UUID,
109
+ ENCODED_CBOR,
110
+ ENVELOPE,
111
+ LEAF,
112
+ JSON,
113
+ KNOWN_VALUE,
114
+ DIGEST,
115
+ ENCRYPTED,
116
+ COMPRESSED,
117
+ REQUEST,
118
+ RESPONSE,
119
+ FUNCTION,
120
+ PARAMETER,
121
+ PLACEHOLDER,
122
+ REPLACEMENT,
123
+ EVENT,
124
+ SEED_V1,
125
+ EC_KEY_V1,
126
+ SSKR_SHARE_V1,
127
+ SEED,
128
+ EC_KEY,
129
+ SSKR_SHARE,
130
+ X25519_PRIVATE_KEY,
131
+ X25519_PUBLIC_KEY,
132
+ ARID,
133
+ PRIVATE_KEYS,
134
+ NONCE,
135
+ PASSWORD,
136
+ PRIVATE_KEY_BASE,
137
+ PUBLIC_KEYS,
138
+ SALT,
139
+ SEALED_MESSAGE,
140
+ SIGNATURE,
141
+ SIGNING_PRIVATE_KEY,
142
+ SIGNING_PUBLIC_KEY,
143
+ SYMMETRIC_KEY,
144
+ XID,
145
+ REFERENCE,
146
+ ENCRYPTED_KEY,
147
+ MLKEM_PRIVATE_KEY,
148
+ MLKEM_PUBLIC_KEY,
149
+ MLKEM_CIPHERTEXT,
150
+ MLDSA_PRIVATE_KEY,
151
+ MLDSA_PUBLIC_KEY,
152
+ MLDSA_SIGNATURE,
153
+ HDKEY_V1,
154
+ DERIVATION_PATH_V1,
155
+ USE_INFO_V1,
156
+ OUTPUT_DESCRIPTOR_V1,
157
+ PSBT_V1,
158
+ ACCOUNT_V1,
159
+ HDKEY,
160
+ DERIVATION_PATH,
161
+ USE_INFO,
162
+ ADDRESS,
163
+ OUTPUT_DESCRIPTOR,
164
+ PSBT,
165
+ ACCOUNT_DESCRIPTOR,
166
+ SSH_TEXT_PRIVATE_KEY,
167
+ SSH_TEXT_PUBLIC_KEY,
168
+ SSH_TEXT_SIGNATURE,
169
+ SSH_TEXT_CERTIFICATE,
170
+ OUTPUT_SCRIPT_HASH,
171
+ OUTPUT_WITNESS_SCRIPT_HASH,
172
+ OUTPUT_PUBLIC_KEY,
173
+ OUTPUT_PUBLIC_KEY_HASH,
174
+ OUTPUT_WITNESS_PUBLIC_KEY_HASH,
175
+ OUTPUT_COMBO,
176
+ OUTPUT_MULTISIG,
177
+ OUTPUT_SORTED_MULTISIG,
178
+ OUTPUT_RAW_SCRIPT,
179
+ OUTPUT_TAPROOT,
180
+ OUTPUT_COSIGNER,
181
+ PROVENANCE_MARK
182
+ ];
183
+ tagsStore.insertAll(tags);
184
+ }
185
+ /**
186
+ * Register all Blockchain Commons tags in the global tags store.
187
+ * This matches the Rust function `register_tags()`.
188
+ *
189
+ * This function is idempotent - calling it multiple times is safe.
190
+ */
191
+ function registerTags() {
192
+ registerTagsIn((0, __bcts_dcbor.getGlobalTagsStore)());
193
+ }
194
+
195
+ //#endregion
196
+ exports.ACCOUNT_DESCRIPTOR = ACCOUNT_DESCRIPTOR;
197
+ exports.ACCOUNT_V1 = ACCOUNT_V1;
198
+ exports.ADDRESS = ADDRESS;
199
+ exports.ARID = ARID;
200
+ exports.COMPRESSED = COMPRESSED;
201
+ exports.DERIVATION_PATH = DERIVATION_PATH;
202
+ exports.DERIVATION_PATH_V1 = DERIVATION_PATH_V1;
203
+ exports.DIGEST = DIGEST;
204
+ exports.EC_KEY = EC_KEY;
205
+ exports.EC_KEY_V1 = EC_KEY_V1;
206
+ exports.ENCODED_CBOR = ENCODED_CBOR;
207
+ exports.ENCRYPTED = ENCRYPTED;
208
+ exports.ENCRYPTED_KEY = ENCRYPTED_KEY;
209
+ exports.ENVELOPE = ENVELOPE;
210
+ exports.EVENT = EVENT;
211
+ exports.FUNCTION = FUNCTION;
212
+ exports.HDKEY = HDKEY;
213
+ exports.HDKEY_V1 = HDKEY_V1;
214
+ exports.JSON = JSON;
215
+ exports.KNOWN_VALUE = KNOWN_VALUE;
216
+ exports.LEAF = LEAF;
217
+ exports.MLDSA_PRIVATE_KEY = MLDSA_PRIVATE_KEY;
218
+ exports.MLDSA_PUBLIC_KEY = MLDSA_PUBLIC_KEY;
219
+ exports.MLDSA_SIGNATURE = MLDSA_SIGNATURE;
220
+ exports.MLKEM_CIPHERTEXT = MLKEM_CIPHERTEXT;
221
+ exports.MLKEM_PRIVATE_KEY = MLKEM_PRIVATE_KEY;
222
+ exports.MLKEM_PUBLIC_KEY = MLKEM_PUBLIC_KEY;
223
+ exports.NONCE = NONCE;
224
+ exports.OUTPUT_COMBO = OUTPUT_COMBO;
225
+ exports.OUTPUT_COSIGNER = OUTPUT_COSIGNER;
226
+ exports.OUTPUT_DESCRIPTOR = OUTPUT_DESCRIPTOR;
227
+ exports.OUTPUT_DESCRIPTOR_V1 = OUTPUT_DESCRIPTOR_V1;
228
+ exports.OUTPUT_MULTISIG = OUTPUT_MULTISIG;
229
+ exports.OUTPUT_PUBLIC_KEY = OUTPUT_PUBLIC_KEY;
230
+ exports.OUTPUT_PUBLIC_KEY_HASH = OUTPUT_PUBLIC_KEY_HASH;
231
+ exports.OUTPUT_RAW_SCRIPT = OUTPUT_RAW_SCRIPT;
232
+ exports.OUTPUT_SCRIPT_HASH = OUTPUT_SCRIPT_HASH;
233
+ exports.OUTPUT_SORTED_MULTISIG = OUTPUT_SORTED_MULTISIG;
234
+ exports.OUTPUT_TAPROOT = OUTPUT_TAPROOT;
235
+ exports.OUTPUT_WITNESS_PUBLIC_KEY_HASH = OUTPUT_WITNESS_PUBLIC_KEY_HASH;
236
+ exports.OUTPUT_WITNESS_SCRIPT_HASH = OUTPUT_WITNESS_SCRIPT_HASH;
237
+ exports.PARAMETER = PARAMETER;
238
+ exports.PASSWORD = PASSWORD;
239
+ exports.PLACEHOLDER = PLACEHOLDER;
240
+ exports.PRIVATE_KEYS = PRIVATE_KEYS;
241
+ exports.PRIVATE_KEY_BASE = PRIVATE_KEY_BASE;
242
+ exports.PROVENANCE_MARK = PROVENANCE_MARK;
243
+ exports.PSBT = PSBT;
244
+ exports.PSBT_V1 = PSBT_V1;
245
+ exports.PUBLIC_KEYS = PUBLIC_KEYS;
246
+ exports.REFERENCE = REFERENCE;
247
+ exports.REPLACEMENT = REPLACEMENT;
248
+ exports.REQUEST = REQUEST;
249
+ exports.RESPONSE = RESPONSE;
250
+ exports.SALT = SALT;
251
+ exports.SEALED_MESSAGE = SEALED_MESSAGE;
252
+ exports.SEED = SEED;
253
+ exports.SEED_V1 = SEED_V1;
254
+ exports.SIGNATURE = SIGNATURE;
255
+ exports.SIGNING_PRIVATE_KEY = SIGNING_PRIVATE_KEY;
256
+ exports.SIGNING_PUBLIC_KEY = SIGNING_PUBLIC_KEY;
257
+ exports.SSH_TEXT_CERTIFICATE = SSH_TEXT_CERTIFICATE;
258
+ exports.SSH_TEXT_PRIVATE_KEY = SSH_TEXT_PRIVATE_KEY;
259
+ exports.SSH_TEXT_PUBLIC_KEY = SSH_TEXT_PUBLIC_KEY;
260
+ exports.SSH_TEXT_SIGNATURE = SSH_TEXT_SIGNATURE;
261
+ exports.SSKR_SHARE = SSKR_SHARE;
262
+ exports.SSKR_SHARE_V1 = SSKR_SHARE_V1;
263
+ exports.SYMMETRIC_KEY = SYMMETRIC_KEY;
264
+ exports.URI = URI;
265
+ exports.USE_INFO = USE_INFO;
266
+ exports.USE_INFO_V1 = USE_INFO_V1;
267
+ exports.UUID = UUID;
268
+ exports.X25519_PRIVATE_KEY = X25519_PRIVATE_KEY;
269
+ exports.X25519_PUBLIC_KEY = X25519_PUBLIC_KEY;
270
+ exports.XID = XID;
271
+ exports.registerTags = registerTags;
272
+ exports.registerTagsIn = registerTagsIn;
273
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["URI: Tag","UUID: Tag","ENCODED_CBOR: Tag","ENVELOPE: Tag","LEAF: Tag","JSON: Tag","KNOWN_VALUE: Tag","DIGEST: Tag","ENCRYPTED: Tag","COMPRESSED: Tag","REQUEST: Tag","RESPONSE: Tag","FUNCTION: Tag","PARAMETER: Tag","PLACEHOLDER: Tag","REPLACEMENT: Tag","X25519_PRIVATE_KEY: Tag","X25519_PUBLIC_KEY: Tag","ARID: Tag","PRIVATE_KEYS: Tag","NONCE: Tag","PASSWORD: Tag","PRIVATE_KEY_BASE: Tag","PUBLIC_KEYS: Tag","SALT: Tag","SEALED_MESSAGE: Tag","SIGNATURE: Tag","SIGNING_PRIVATE_KEY: Tag","SIGNING_PUBLIC_KEY: Tag","SYMMETRIC_KEY: Tag","XID: Tag","REFERENCE: Tag","EVENT: Tag","ENCRYPTED_KEY: Tag","MLKEM_PRIVATE_KEY: Tag","MLKEM_PUBLIC_KEY: Tag","MLKEM_CIPHERTEXT: Tag","MLDSA_PRIVATE_KEY: Tag","MLDSA_PUBLIC_KEY: Tag","MLDSA_SIGNATURE: Tag","SEED: Tag","HDKEY: Tag","DERIVATION_PATH: Tag","USE_INFO: Tag","EC_KEY: Tag","ADDRESS: Tag","OUTPUT_DESCRIPTOR: Tag","SSKR_SHARE: Tag","PSBT: Tag","ACCOUNT_DESCRIPTOR: Tag","SSH_TEXT_PRIVATE_KEY: Tag","SSH_TEXT_PUBLIC_KEY: Tag","SSH_TEXT_SIGNATURE: Tag","SSH_TEXT_CERTIFICATE: Tag","PROVENANCE_MARK: Tag","SEED_V1: Tag","EC_KEY_V1: Tag","SSKR_SHARE_V1: Tag","HDKEY_V1: Tag","DERIVATION_PATH_V1: Tag","USE_INFO_V1: Tag","OUTPUT_DESCRIPTOR_V1: Tag","PSBT_V1: Tag","ACCOUNT_V1: Tag","OUTPUT_SCRIPT_HASH: Tag","OUTPUT_WITNESS_SCRIPT_HASH: Tag","OUTPUT_PUBLIC_KEY: Tag","OUTPUT_PUBLIC_KEY_HASH: Tag","OUTPUT_WITNESS_PUBLIC_KEY_HASH: Tag","OUTPUT_COMBO: Tag","OUTPUT_MULTISIG: Tag","OUTPUT_SORTED_MULTISIG: Tag","OUTPUT_RAW_SCRIPT: Tag","OUTPUT_TAPROOT: Tag","OUTPUT_COSIGNER: Tag","tags: Tag[]"],"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":";;;;;;;;;;;;;;;;;;;;;;AAgCA,MAAaA,kCAAqB,IAAI,MAAM;AAC5C,MAAaC,mCAAsB,IAAI,OAAO;AAqB9C,MAAaC,2CAA8B,IAAI,eAAe;AAC9D,MAAaC,uCAA0B,KAAK,WAAW;AACvD,MAAaC,mCAAsB,KAAK,OAAO;AAC/C,MAAaC,mCAAsB,KAAK,OAAO;AAM/C,MAAaC,0CAA6B,KAAO,cAAc;AAC/D,MAAaC,qCAAwB,OAAO,SAAS;AACrD,MAAaC,wCAA2B,OAAO,YAAY;AAC3D,MAAaC,yCAA4B,OAAO,aAAa;AAM7D,MAAaC,sCAAyB,OAAO,UAAU;AACvD,MAAaC,uCAA0B,OAAO,WAAW;AACzD,MAAaC,uCAA0B,OAAO,WAAW;AACzD,MAAaC,wCAA2B,OAAO,YAAY;AAC3D,MAAaC,0CAA6B,OAAO,cAAc;AAC/D,MAAaC,0CAA6B,OAAO,cAAc;AAE/D,MAAaC,iDAAoC,OAAO,wBAAwB;AAChF,MAAaC,gDAAmC,OAAO,uBAAuB;AAC9E,MAAaC,mCAAsB,OAAO,OAAO;AACjD,MAAaC,2CAA8B,OAAO,iBAAiB;AACnE,MAAaC,oCAAuB,OAAO,QAAQ;AACnD,MAAaC,uCAA0B,OAAO,WAAW;AACzD,MAAaC,+CAAkC,OAAO,qBAAqB;AAE3E,MAAaC,0CAA6B,OAAO,iBAAiB;AAClE,MAAaC,mCAAsB,OAAO,OAAO;AACjD,MAAaC,6CAAgC,OAAO,gBAAgB;AACpE,MAAaC,wCAA2B,OAAO,YAAY;AAC3D,MAAaC,kDAAqC,OAAO,sBAAsB;AAC/E,MAAaC,iDAAoC,OAAO,qBAAqB;AAC7E,MAAaC,4CAA+B,OAAO,aAAa;AAChE,MAAaC,kCAAqB,OAAO,MAAM;AAC/C,MAAaC,wCAA2B,OAAO,YAAY;AAC3D,MAAaC,oCAAuB,OAAO,QAAQ;AAEnD,MAAaC,4CAA+B,OAAO,gBAAgB;AACnE,MAAaC,gDAAmC,OAAO,oBAAoB;AAC3E,MAAaC,+CAAkC,OAAO,mBAAmB;AACzE,MAAaC,+CAAkC,OAAO,mBAAmB;AACzE,MAAaC,gDAAmC,OAAO,oBAAoB;AAC3E,MAAaC,+CAAkC,OAAO,mBAAmB;AACzE,MAAaC,8CAAiC,OAAO,kBAAkB;AACvE,MAAaC,mCAAsB,OAAO,OAAO;AACjD,MAAaC,oCAAuB,OAAO,QAAQ;AACnD,MAAaC,8CAAiC,OAAO,UAAU;AAE/D,MAAaC,uCAA0B,OAAO,YAAY;AAC1D,MAAaC,qCAAwB,OAAO,QAAQ;AACpD,MAAaC,sCAAyB,OAAO,UAAU;AACvD,MAAaC,gDAAmC,OAAO,oBAAoB;AAC3E,MAAaC,yCAA4B,OAAO,OAAO;AACvD,MAAaC,mCAAsB,OAAO,OAAO;AACjD,MAAaC,iDAAoC,OAAO,qBAAqB;AAC7E,MAAaC,mDAAsC,OAAO,cAAc;AACxE,MAAaC,kDAAqC,OAAO,aAAa;AACtE,MAAaC,iDAAoC,OAAO,gBAAgB;AACxE,MAAaC,mDAAsC,OAAO,kBAAkB;AAE5E,MAAaC,8CAAiC,YAAY,aAAa;AAevE,MAAaC,sCAAyB,KAAK,cAAc;AACzD,MAAaC,wCAA2B,KAAK,eAAe;AAC5D,MAAaC,4CAA+B,KAAK,cAAc;AAE/D,MAAaC,uCAA0B,KAAK,eAAe;AAC3D,MAAaC,iDAAoC,KAAK,iBAAiB;AACvE,MAAaC,0CAA6B,KAAK,mBAAmB;AAClE,MAAaC,mDAAsC,KAAK,gBAAgB;AACxE,MAAaC,sCAAyB,KAAK,cAAc;AACzD,MAAaC,yCAA4B,KAAK,iBAAiB;AAM/D,MAAaC,iDAAoC,KAAK,qBAAqB;AAC3E,MAAaC,yDAA4C,KAAK,6BAA6B;AAC3F,MAAaC,gDAAmC,KAAK,oBAAoB;AACzE,MAAaC,qDAAwC,KAAK,yBAAyB;AACnF,MAAaC,6DAAgD,KAAK,iCAAiC;AACnG,MAAaC,2CAA8B,KAAK,eAAe;AAC/D,MAAaC,8CAAiC,KAAK,kBAAkB;AACrE,MAAaC,qDAAwC,KAAK,yBAAyB;AACnF,MAAaC,gDAAmC,KAAK,oBAAoB;AACzE,MAAaC,6CAAgC,KAAK,iBAAiB;AACnE,MAAaC,8CAAiC,KAAK,kBAAkB;;;;;;;AAYrE,SAAgB,eAAe,WAA4B;AAEzD,kCAAoB,UAAU;CAG9B,MAAMC,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,sDADwC,CACb"}
@@ -0,0 +1,96 @@
1
+ import { Tag, TagsStore } from "@bcts/dcbor";
2
+
3
+ //#region src/tags-registry.d.ts
4
+
5
+ declare const URI: Tag;
6
+ declare const UUID: Tag;
7
+ declare const ENCODED_CBOR: Tag;
8
+ declare const ENVELOPE: Tag;
9
+ declare const LEAF: Tag;
10
+ declare const JSON: Tag;
11
+ declare const KNOWN_VALUE: Tag;
12
+ declare const DIGEST: Tag;
13
+ declare const ENCRYPTED: Tag;
14
+ declare const COMPRESSED: Tag;
15
+ declare const REQUEST: Tag;
16
+ declare const RESPONSE: Tag;
17
+ declare const FUNCTION: Tag;
18
+ declare const PARAMETER: Tag;
19
+ declare const PLACEHOLDER: Tag;
20
+ declare const REPLACEMENT: Tag;
21
+ declare const X25519_PRIVATE_KEY: Tag;
22
+ declare const X25519_PUBLIC_KEY: Tag;
23
+ declare const ARID: Tag;
24
+ declare const PRIVATE_KEYS: Tag;
25
+ declare const NONCE: Tag;
26
+ declare const PASSWORD: Tag;
27
+ declare const PRIVATE_KEY_BASE: Tag;
28
+ declare const PUBLIC_KEYS: Tag;
29
+ declare const SALT: Tag;
30
+ declare const SEALED_MESSAGE: Tag;
31
+ declare const SIGNATURE: Tag;
32
+ declare const SIGNING_PRIVATE_KEY: Tag;
33
+ declare const SIGNING_PUBLIC_KEY: Tag;
34
+ declare const SYMMETRIC_KEY: Tag;
35
+ declare const XID: Tag;
36
+ declare const REFERENCE: Tag;
37
+ declare const EVENT: Tag;
38
+ declare const ENCRYPTED_KEY: Tag;
39
+ declare const MLKEM_PRIVATE_KEY: Tag;
40
+ declare const MLKEM_PUBLIC_KEY: Tag;
41
+ declare const MLKEM_CIPHERTEXT: Tag;
42
+ declare const MLDSA_PRIVATE_KEY: Tag;
43
+ declare const MLDSA_PUBLIC_KEY: Tag;
44
+ declare const MLDSA_SIGNATURE: Tag;
45
+ declare const SEED: Tag;
46
+ declare const HDKEY: Tag;
47
+ declare const DERIVATION_PATH: Tag;
48
+ declare const USE_INFO: Tag;
49
+ declare const EC_KEY: Tag;
50
+ declare const ADDRESS: Tag;
51
+ declare const OUTPUT_DESCRIPTOR: Tag;
52
+ declare const SSKR_SHARE: Tag;
53
+ declare const PSBT: Tag;
54
+ declare const ACCOUNT_DESCRIPTOR: Tag;
55
+ declare const SSH_TEXT_PRIVATE_KEY: Tag;
56
+ declare const SSH_TEXT_PUBLIC_KEY: Tag;
57
+ declare const SSH_TEXT_SIGNATURE: Tag;
58
+ declare const SSH_TEXT_CERTIFICATE: Tag;
59
+ declare const PROVENANCE_MARK: Tag;
60
+ declare const SEED_V1: Tag;
61
+ declare const EC_KEY_V1: Tag;
62
+ declare const SSKR_SHARE_V1: Tag;
63
+ declare const HDKEY_V1: Tag;
64
+ declare const DERIVATION_PATH_V1: Tag;
65
+ declare const USE_INFO_V1: Tag;
66
+ declare const OUTPUT_DESCRIPTOR_V1: Tag;
67
+ declare const PSBT_V1: Tag;
68
+ declare const ACCOUNT_V1: Tag;
69
+ declare const OUTPUT_SCRIPT_HASH: Tag;
70
+ declare const OUTPUT_WITNESS_SCRIPT_HASH: Tag;
71
+ declare const OUTPUT_PUBLIC_KEY: Tag;
72
+ declare const OUTPUT_PUBLIC_KEY_HASH: Tag;
73
+ declare const OUTPUT_WITNESS_PUBLIC_KEY_HASH: Tag;
74
+ declare const OUTPUT_COMBO: Tag;
75
+ declare const OUTPUT_MULTISIG: Tag;
76
+ declare const OUTPUT_SORTED_MULTISIG: Tag;
77
+ declare const OUTPUT_RAW_SCRIPT: Tag;
78
+ declare const OUTPUT_TAPROOT: Tag;
79
+ declare const OUTPUT_COSIGNER: Tag;
80
+ /**
81
+ * Register all Blockchain Commons tags in a specific tags store.
82
+ * This matches the Rust function `register_tags_in()`.
83
+ *
84
+ * @param tagsStore - The tags store to register tags into
85
+ */
86
+ declare function registerTagsIn(tagsStore: TagsStore): void;
87
+ /**
88
+ * Register all Blockchain Commons tags in the global tags store.
89
+ * This matches the Rust function `register_tags()`.
90
+ *
91
+ * This function is idempotent - calling it multiple times is safe.
92
+ */
93
+ declare function registerTags(): void;
94
+ //#endregion
95
+ export { ACCOUNT_DESCRIPTOR, ACCOUNT_V1, ADDRESS, ARID, COMPRESSED, DERIVATION_PATH, DERIVATION_PATH_V1, DIGEST, EC_KEY, EC_KEY_V1, ENCODED_CBOR, ENCRYPTED, ENCRYPTED_KEY, ENVELOPE, EVENT, FUNCTION, HDKEY, HDKEY_V1, JSON, KNOWN_VALUE, LEAF, MLDSA_PRIVATE_KEY, MLDSA_PUBLIC_KEY, MLDSA_SIGNATURE, MLKEM_CIPHERTEXT, MLKEM_PRIVATE_KEY, MLKEM_PUBLIC_KEY, NONCE, OUTPUT_COMBO, OUTPUT_COSIGNER, OUTPUT_DESCRIPTOR, OUTPUT_DESCRIPTOR_V1, OUTPUT_MULTISIG, OUTPUT_PUBLIC_KEY, OUTPUT_PUBLIC_KEY_HASH, OUTPUT_RAW_SCRIPT, OUTPUT_SCRIPT_HASH, OUTPUT_SORTED_MULTISIG, OUTPUT_TAPROOT, OUTPUT_WITNESS_PUBLIC_KEY_HASH, OUTPUT_WITNESS_SCRIPT_HASH, PARAMETER, PASSWORD, PLACEHOLDER, PRIVATE_KEYS, PRIVATE_KEY_BASE, PROVENANCE_MARK, PSBT, PSBT_V1, PUBLIC_KEYS, REFERENCE, REPLACEMENT, REQUEST, RESPONSE, SALT, SEALED_MESSAGE, SEED, SEED_V1, SIGNATURE, SIGNING_PRIVATE_KEY, SIGNING_PUBLIC_KEY, SSH_TEXT_CERTIFICATE, SSH_TEXT_PRIVATE_KEY, SSH_TEXT_PUBLIC_KEY, SSH_TEXT_SIGNATURE, SSKR_SHARE, SSKR_SHARE_V1, SYMMETRIC_KEY, URI, USE_INFO, USE_INFO_V1, UUID, X25519_PRIVATE_KEY, X25519_PUBLIC_KEY, XID, registerTags, registerTagsIn };
96
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/tags-registry.ts"],"sourcesContent":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { Tag, TagsStore } from "@bcts/dcbor";
2
+
3
+ //#region src/tags-registry.d.ts
4
+
5
+ declare const URI: Tag;
6
+ declare const UUID: Tag;
7
+ declare const ENCODED_CBOR: Tag;
8
+ declare const ENVELOPE: Tag;
9
+ declare const LEAF: Tag;
10
+ declare const JSON: Tag;
11
+ declare const KNOWN_VALUE: Tag;
12
+ declare const DIGEST: Tag;
13
+ declare const ENCRYPTED: Tag;
14
+ declare const COMPRESSED: Tag;
15
+ declare const REQUEST: Tag;
16
+ declare const RESPONSE: Tag;
17
+ declare const FUNCTION: Tag;
18
+ declare const PARAMETER: Tag;
19
+ declare const PLACEHOLDER: Tag;
20
+ declare const REPLACEMENT: Tag;
21
+ declare const X25519_PRIVATE_KEY: Tag;
22
+ declare const X25519_PUBLIC_KEY: Tag;
23
+ declare const ARID: Tag;
24
+ declare const PRIVATE_KEYS: Tag;
25
+ declare const NONCE: Tag;
26
+ declare const PASSWORD: Tag;
27
+ declare const PRIVATE_KEY_BASE: Tag;
28
+ declare const PUBLIC_KEYS: Tag;
29
+ declare const SALT: Tag;
30
+ declare const SEALED_MESSAGE: Tag;
31
+ declare const SIGNATURE: Tag;
32
+ declare const SIGNING_PRIVATE_KEY: Tag;
33
+ declare const SIGNING_PUBLIC_KEY: Tag;
34
+ declare const SYMMETRIC_KEY: Tag;
35
+ declare const XID: Tag;
36
+ declare const REFERENCE: Tag;
37
+ declare const EVENT: Tag;
38
+ declare const ENCRYPTED_KEY: Tag;
39
+ declare const MLKEM_PRIVATE_KEY: Tag;
40
+ declare const MLKEM_PUBLIC_KEY: Tag;
41
+ declare const MLKEM_CIPHERTEXT: Tag;
42
+ declare const MLDSA_PRIVATE_KEY: Tag;
43
+ declare const MLDSA_PUBLIC_KEY: Tag;
44
+ declare const MLDSA_SIGNATURE: Tag;
45
+ declare const SEED: Tag;
46
+ declare const HDKEY: Tag;
47
+ declare const DERIVATION_PATH: Tag;
48
+ declare const USE_INFO: Tag;
49
+ declare const EC_KEY: Tag;
50
+ declare const ADDRESS: Tag;
51
+ declare const OUTPUT_DESCRIPTOR: Tag;
52
+ declare const SSKR_SHARE: Tag;
53
+ declare const PSBT: Tag;
54
+ declare const ACCOUNT_DESCRIPTOR: Tag;
55
+ declare const SSH_TEXT_PRIVATE_KEY: Tag;
56
+ declare const SSH_TEXT_PUBLIC_KEY: Tag;
57
+ declare const SSH_TEXT_SIGNATURE: Tag;
58
+ declare const SSH_TEXT_CERTIFICATE: Tag;
59
+ declare const PROVENANCE_MARK: Tag;
60
+ declare const SEED_V1: Tag;
61
+ declare const EC_KEY_V1: Tag;
62
+ declare const SSKR_SHARE_V1: Tag;
63
+ declare const HDKEY_V1: Tag;
64
+ declare const DERIVATION_PATH_V1: Tag;
65
+ declare const USE_INFO_V1: Tag;
66
+ declare const OUTPUT_DESCRIPTOR_V1: Tag;
67
+ declare const PSBT_V1: Tag;
68
+ declare const ACCOUNT_V1: Tag;
69
+ declare const OUTPUT_SCRIPT_HASH: Tag;
70
+ declare const OUTPUT_WITNESS_SCRIPT_HASH: Tag;
71
+ declare const OUTPUT_PUBLIC_KEY: Tag;
72
+ declare const OUTPUT_PUBLIC_KEY_HASH: Tag;
73
+ declare const OUTPUT_WITNESS_PUBLIC_KEY_HASH: Tag;
74
+ declare const OUTPUT_COMBO: Tag;
75
+ declare const OUTPUT_MULTISIG: Tag;
76
+ declare const OUTPUT_SORTED_MULTISIG: Tag;
77
+ declare const OUTPUT_RAW_SCRIPT: Tag;
78
+ declare const OUTPUT_TAPROOT: Tag;
79
+ declare const OUTPUT_COSIGNER: Tag;
80
+ /**
81
+ * Register all Blockchain Commons tags in a specific tags store.
82
+ * This matches the Rust function `register_tags_in()`.
83
+ *
84
+ * @param tagsStore - The tags store to register tags into
85
+ */
86
+ declare function registerTagsIn(tagsStore: TagsStore): void;
87
+ /**
88
+ * Register all Blockchain Commons tags in the global tags store.
89
+ * This matches the Rust function `register_tags()`.
90
+ *
91
+ * This function is idempotent - calling it multiple times is safe.
92
+ */
93
+ declare function registerTags(): void;
94
+ //#endregion
95
+ export { ACCOUNT_DESCRIPTOR, ACCOUNT_V1, ADDRESS, ARID, COMPRESSED, DERIVATION_PATH, DERIVATION_PATH_V1, DIGEST, EC_KEY, EC_KEY_V1, ENCODED_CBOR, ENCRYPTED, ENCRYPTED_KEY, ENVELOPE, EVENT, FUNCTION, HDKEY, HDKEY_V1, JSON, KNOWN_VALUE, LEAF, MLDSA_PRIVATE_KEY, MLDSA_PUBLIC_KEY, MLDSA_SIGNATURE, MLKEM_CIPHERTEXT, MLKEM_PRIVATE_KEY, MLKEM_PUBLIC_KEY, NONCE, OUTPUT_COMBO, OUTPUT_COSIGNER, OUTPUT_DESCRIPTOR, OUTPUT_DESCRIPTOR_V1, OUTPUT_MULTISIG, OUTPUT_PUBLIC_KEY, OUTPUT_PUBLIC_KEY_HASH, OUTPUT_RAW_SCRIPT, OUTPUT_SCRIPT_HASH, OUTPUT_SORTED_MULTISIG, OUTPUT_TAPROOT, OUTPUT_WITNESS_PUBLIC_KEY_HASH, OUTPUT_WITNESS_SCRIPT_HASH, PARAMETER, PASSWORD, PLACEHOLDER, PRIVATE_KEYS, PRIVATE_KEY_BASE, PROVENANCE_MARK, PSBT, PSBT_V1, PUBLIC_KEYS, REFERENCE, REPLACEMENT, REQUEST, RESPONSE, SALT, SEALED_MESSAGE, SEED, SEED_V1, SIGNATURE, SIGNING_PRIVATE_KEY, SIGNING_PUBLIC_KEY, SSH_TEXT_CERTIFICATE, SSH_TEXT_PRIVATE_KEY, SSH_TEXT_PUBLIC_KEY, SSH_TEXT_SIGNATURE, SSKR_SHARE, SSKR_SHARE_V1, SYMMETRIC_KEY, URI, USE_INFO, USE_INFO_V1, UUID, X25519_PRIVATE_KEY, X25519_PUBLIC_KEY, XID, registerTags, registerTagsIn };
96
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/tags-registry.ts"],"sourcesContent":[],"mappings":"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"}