@bcts/known-values 1.0.0-alpha.9 → 1.0.0-beta.1
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/README.md +1 -1
- package/data/0_blockchain_commons_registry.json +741 -0
- package/data/100000_community_registry.json +33 -0
- package/data/10000_schema_registry.json +17171 -0
- package/data/1000_community_registry.json +19 -0
- package/data/2000_rdf_registry.json +168 -0
- package/data/2050_rdfs_registry.json +126 -0
- package/data/2100_owl2_registry.json +546 -0
- package/data/2200_dce_registry.json +126 -0
- package/data/2300_dct_registry.json +644 -0
- package/data/2500_foaf_registry.json +546 -0
- package/data/2700_skos_registry.json +245 -0
- package/data/2800_solid_registry.json +252 -0
- package/data/2900_vc_registry.json +217 -0
- package/data/3000_gs1_registry.json +4284 -0
- package/dist/index.cjs +25530 -124
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +178 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +178 -5
- package/dist/index.d.mts.map +1 -1
- package/dist/index.iife.js +25643 -238
- package/dist/index.iife.js.map +1 -1
- package/dist/index.mjs +25410 -115
- package/dist/index.mjs.map +1 -1
- package/package.json +20 -23
- package/src/bundled-registries.ts +103 -0
- package/src/index.ts +133 -0
- package/src/known-value.ts +35 -3
- package/src/known-values-registry.ts +272 -112
- package/src/known-values-store.ts +16 -0
package/src/index.ts
CHANGED
|
@@ -1,6 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2023-2026 Blockchain Commons, LLC
|
|
3
|
+
* Copyright © 2025-2026 Parity Technologies
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
|
|
1
7
|
export { KnownValue, TAG_KNOWN_VALUE, KNOWN_VALUE_TAG, type KnownValueInput } from "./known-value";
|
|
2
8
|
export { KnownValuesStore } from "./known-values-store";
|
|
9
|
+
export { loadBundledRegistries, type RegistryEntry, type RegistryFile } from "./bundled-registries";
|
|
3
10
|
export {
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// Raw Value Constants (_RAW)
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// General
|
|
15
|
+
UNIT_RAW,
|
|
16
|
+
IS_A_RAW,
|
|
17
|
+
ID_RAW,
|
|
18
|
+
SIGNED_RAW,
|
|
19
|
+
NOTE_RAW,
|
|
20
|
+
HAS_RECIPIENT_RAW,
|
|
21
|
+
SSKR_SHARE_RAW,
|
|
22
|
+
CONTROLLER_RAW,
|
|
23
|
+
KEY_RAW,
|
|
24
|
+
DEREFERENCE_VIA_RAW,
|
|
25
|
+
ENTITY_RAW,
|
|
26
|
+
NAME_RAW,
|
|
27
|
+
LANGUAGE_RAW,
|
|
28
|
+
ISSUER_RAW,
|
|
29
|
+
HOLDER_RAW,
|
|
30
|
+
SALT_RAW,
|
|
31
|
+
DATE_RAW,
|
|
32
|
+
UNKNOWN_VALUE_RAW,
|
|
33
|
+
VERSION_VALUE_RAW,
|
|
34
|
+
HAS_SECRET_RAW,
|
|
35
|
+
DIFF_EDITS_RAW,
|
|
36
|
+
VALID_FROM_RAW,
|
|
37
|
+
VALID_UNTIL_RAW,
|
|
38
|
+
POSITION_RAW,
|
|
39
|
+
NICKNAME_RAW,
|
|
40
|
+
VALUE_RAW,
|
|
41
|
+
ATTESTATION_RAW,
|
|
42
|
+
VERIFIABLE_AT_RAW,
|
|
43
|
+
// Attachments
|
|
44
|
+
ATTACHMENT_RAW,
|
|
45
|
+
VENDOR_RAW,
|
|
46
|
+
CONFORMS_TO_RAW,
|
|
47
|
+
// XID Documents
|
|
48
|
+
ALLOW_RAW,
|
|
49
|
+
DENY_RAW,
|
|
50
|
+
ENDPOINT_RAW,
|
|
51
|
+
DELEGATE_RAW,
|
|
52
|
+
PROVENANCE_RAW,
|
|
53
|
+
PRIVATE_KEY_RAW,
|
|
54
|
+
SERVICE_RAW,
|
|
55
|
+
CAPABILITY_RAW,
|
|
56
|
+
PROVENANCE_GENERATOR_RAW,
|
|
57
|
+
// XID Privileges
|
|
58
|
+
PRIVILEGE_ALL_RAW,
|
|
59
|
+
PRIVILEGE_AUTH_RAW,
|
|
60
|
+
PRIVILEGE_SIGN_RAW,
|
|
61
|
+
PRIVILEGE_ENCRYPT_RAW,
|
|
62
|
+
PRIVILEGE_ELIDE_RAW,
|
|
63
|
+
PRIVILEGE_ISSUE_RAW,
|
|
64
|
+
PRIVILEGE_ACCESS_RAW,
|
|
65
|
+
PRIVILEGE_DELEGATE_RAW,
|
|
66
|
+
PRIVILEGE_VERIFY_RAW,
|
|
67
|
+
PRIVILEGE_UPDATE_RAW,
|
|
68
|
+
PRIVILEGE_TRANSFER_RAW,
|
|
69
|
+
PRIVILEGE_ELECT_RAW,
|
|
70
|
+
PRIVILEGE_BURN_RAW,
|
|
71
|
+
PRIVILEGE_REVOKE_RAW,
|
|
72
|
+
// Expression and Function Calls
|
|
73
|
+
BODY_RAW,
|
|
74
|
+
RESULT_RAW,
|
|
75
|
+
ERROR_RAW,
|
|
76
|
+
OK_VALUE_RAW,
|
|
77
|
+
PROCESSING_VALUE_RAW,
|
|
78
|
+
SENDER_RAW,
|
|
79
|
+
SENDER_CONTINUATION_RAW,
|
|
80
|
+
RECIPIENT_CONTINUATION_RAW,
|
|
81
|
+
CONTENT_RAW,
|
|
82
|
+
// Cryptography
|
|
83
|
+
SEED_TYPE_RAW,
|
|
84
|
+
PRIVATE_KEY_TYPE_RAW,
|
|
85
|
+
PUBLIC_KEY_TYPE_RAW,
|
|
86
|
+
MASTER_KEY_TYPE_RAW,
|
|
87
|
+
// Cryptocurrency Assets
|
|
88
|
+
ASSET_RAW,
|
|
89
|
+
BITCOIN_VALUE_RAW,
|
|
90
|
+
ETHEREUM_VALUE_RAW,
|
|
91
|
+
TEZOS_VALUE_RAW,
|
|
92
|
+
// Cryptocurrency Networks
|
|
93
|
+
NETWORK_RAW,
|
|
94
|
+
MAIN_NET_VALUE_RAW,
|
|
95
|
+
TEST_NET_VALUE_RAW,
|
|
96
|
+
// Bitcoin
|
|
97
|
+
BIP32_KEY_TYPE_RAW,
|
|
98
|
+
CHAIN_CODE_RAW,
|
|
99
|
+
DERIVATION_PATH_TYPE_RAW,
|
|
100
|
+
PARENT_PATH_RAW,
|
|
101
|
+
CHILDREN_PATH_RAW,
|
|
102
|
+
PARENT_FINGERPRINT_RAW,
|
|
103
|
+
PSBT_TYPE_RAW,
|
|
104
|
+
OUTPUT_DESCRIPTOR_TYPE_RAW,
|
|
105
|
+
OUTPUT_DESCRIPTOR_RAW,
|
|
106
|
+
// Graphs
|
|
107
|
+
GRAPH_RAW,
|
|
108
|
+
SOURCE_TARGET_GRAPH_RAW,
|
|
109
|
+
PARENT_CHILD_GRAPH_RAW,
|
|
110
|
+
DIGRAPH_RAW,
|
|
111
|
+
ACYCLIC_GRAPH_RAW,
|
|
112
|
+
MULTIGRAPH_RAW,
|
|
113
|
+
PSEUDOGRAPH_RAW,
|
|
114
|
+
GRAPH_FRAGMENT_RAW,
|
|
115
|
+
DAG_RAW,
|
|
116
|
+
TREE_RAW,
|
|
117
|
+
FOREST_RAW,
|
|
118
|
+
COMPOUND_GRAPH_RAW,
|
|
119
|
+
HYPERGRAPH_RAW,
|
|
120
|
+
DIHYPERGRAPH_RAW,
|
|
121
|
+
NODE_RAW,
|
|
122
|
+
EDGE_RAW,
|
|
123
|
+
SOURCE_RAW,
|
|
124
|
+
TARGET_RAW,
|
|
125
|
+
PARENT_RAW,
|
|
126
|
+
CHILD_RAW,
|
|
127
|
+
SELF_RAW,
|
|
128
|
+
// =============================================================================
|
|
129
|
+
// KnownValue Constants
|
|
130
|
+
// =============================================================================
|
|
4
131
|
// General
|
|
5
132
|
UNIT,
|
|
6
133
|
IS_A,
|
|
@@ -27,6 +154,9 @@ export {
|
|
|
27
154
|
VALID_UNTIL,
|
|
28
155
|
POSITION,
|
|
29
156
|
NICKNAME,
|
|
157
|
+
VALUE,
|
|
158
|
+
ATTESTATION,
|
|
159
|
+
VERIFIABLE_AT,
|
|
30
160
|
// Attachments
|
|
31
161
|
ATTACHMENT,
|
|
32
162
|
VENDOR,
|
|
@@ -111,5 +241,8 @@ export {
|
|
|
111
241
|
TARGET,
|
|
112
242
|
PARENT,
|
|
113
243
|
CHILD,
|
|
244
|
+
SELF,
|
|
245
|
+
// Registry
|
|
114
246
|
KNOWN_VALUES,
|
|
247
|
+
LazyKnownValues,
|
|
115
248
|
} from "./known-values-registry";
|
package/src/known-value.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Copyright © 2023-2026 Blockchain Commons, LLC
|
|
3
|
+
* Copyright © 2025-2026 Parity Technologies
|
|
4
|
+
*
|
|
5
|
+
*
|
|
2
6
|
* A value in a namespace of unsigned integers that represents a stand-alone
|
|
3
7
|
* ontological concept.
|
|
4
8
|
*
|
|
@@ -68,7 +72,7 @@ import {
|
|
|
68
72
|
decodeCbor,
|
|
69
73
|
MajorType,
|
|
70
74
|
} from "@bcts/dcbor";
|
|
71
|
-
import { KNOWN_VALUE } from "@bcts/components";
|
|
75
|
+
import { KNOWN_VALUE, Digest, type DigestProvider } from "@bcts/components";
|
|
72
76
|
|
|
73
77
|
/**
|
|
74
78
|
* The numeric value for the CBOR tag used for Known Values.
|
|
@@ -88,7 +92,9 @@ export const KNOWN_VALUE_TAG: Tag = KNOWN_VALUE;
|
|
|
88
92
|
*/
|
|
89
93
|
export type KnownValueInput = number | bigint;
|
|
90
94
|
|
|
91
|
-
export class KnownValue
|
|
95
|
+
export class KnownValue
|
|
96
|
+
implements CborTaggedEncodable, CborTaggedDecodable<KnownValue>, DigestProvider
|
|
97
|
+
{
|
|
92
98
|
private readonly _value: bigint;
|
|
93
99
|
private readonly _assignedName: string | undefined;
|
|
94
100
|
|
|
@@ -223,6 +229,32 @@ export class KnownValue implements CborTaggedEncodable, CborTaggedDecodable<Know
|
|
|
223
229
|
return Number(this._value & BigInt(0xffffffff));
|
|
224
230
|
}
|
|
225
231
|
|
|
232
|
+
// ===========================================================================
|
|
233
|
+
// DigestProvider Implementation
|
|
234
|
+
// ===========================================================================
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Returns the cryptographic digest of this KnownValue.
|
|
238
|
+
*
|
|
239
|
+
* The digest is computed from the tagged CBOR encoding of the value,
|
|
240
|
+
* providing a unique content-addressable identifier.
|
|
241
|
+
*
|
|
242
|
+
* This is used for Envelope integration where KnownValues are hashed
|
|
243
|
+
* for tree construction.
|
|
244
|
+
*
|
|
245
|
+
* @returns A Digest of the tagged CBOR encoding
|
|
246
|
+
*
|
|
247
|
+
* @example
|
|
248
|
+
* ```typescript
|
|
249
|
+
* const kv = new KnownValue(1, "isA");
|
|
250
|
+
* const digest = kv.digest();
|
|
251
|
+
* console.log(digest.hex()); // SHA-256 hash of the CBOR encoding
|
|
252
|
+
* ```
|
|
253
|
+
*/
|
|
254
|
+
digest(): Digest {
|
|
255
|
+
return Digest.fromImage(this.toCborData());
|
|
256
|
+
}
|
|
257
|
+
|
|
226
258
|
/**
|
|
227
259
|
* String representation of the KnownValue.
|
|
228
260
|
*
|
|
@@ -353,7 +385,7 @@ export class KnownValue implements CborTaggedEncodable, CborTaggedDecodable<Know
|
|
|
353
385
|
if (cborValue.type !== MajorType.Unsigned) {
|
|
354
386
|
throw new Error(`Expected unsigned integer for KnownValue, got major type ${cborValue.type}`);
|
|
355
387
|
}
|
|
356
|
-
const numValue = cborValue.value
|
|
388
|
+
const numValue = cborValue.value;
|
|
357
389
|
return new KnownValue(typeof numValue === "bigint" ? numValue : BigInt(numValue));
|
|
358
390
|
}
|
|
359
391
|
|
|
@@ -1,8 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2023-2026 Blockchain Commons, LLC
|
|
3
|
+
* Copyright © 2025-2026 Parity Technologies
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
|
|
1
7
|
import { KnownValue } from "./known-value";
|
|
8
|
+
import { loadBundledRegistries } from "./bundled-registries";
|
|
2
9
|
import { KnownValuesStore } from "./known-values-store";
|
|
3
10
|
|
|
4
11
|
// For definitions see: https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2023-002-known-value.md#appendix-a-registry
|
|
5
12
|
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Raw Value Constants (_RAW)
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// These constants provide direct access to the raw numeric values for pattern
|
|
17
|
+
// matching scenarios. They mirror the Rust implementation which creates both
|
|
18
|
+
// XXX_RAW and XXX constants for each known value.
|
|
19
|
+
|
|
20
|
+
// General
|
|
21
|
+
export const UNIT_RAW = 0n;
|
|
22
|
+
export const IS_A_RAW = 1n;
|
|
23
|
+
export const ID_RAW = 2n;
|
|
24
|
+
export const SIGNED_RAW = 3n;
|
|
25
|
+
export const NOTE_RAW = 4n;
|
|
26
|
+
export const HAS_RECIPIENT_RAW = 5n;
|
|
27
|
+
export const SSKR_SHARE_RAW = 6n;
|
|
28
|
+
export const CONTROLLER_RAW = 7n;
|
|
29
|
+
export const KEY_RAW = 8n;
|
|
30
|
+
export const DEREFERENCE_VIA_RAW = 9n;
|
|
31
|
+
export const ENTITY_RAW = 10n;
|
|
32
|
+
export const NAME_RAW = 11n;
|
|
33
|
+
export const LANGUAGE_RAW = 12n;
|
|
34
|
+
export const ISSUER_RAW = 13n;
|
|
35
|
+
export const HOLDER_RAW = 14n;
|
|
36
|
+
export const SALT_RAW = 15n;
|
|
37
|
+
export const DATE_RAW = 16n;
|
|
38
|
+
export const UNKNOWN_VALUE_RAW = 17n;
|
|
39
|
+
export const VERSION_VALUE_RAW = 18n;
|
|
40
|
+
export const HAS_SECRET_RAW = 19n;
|
|
41
|
+
export const DIFF_EDITS_RAW = 20n;
|
|
42
|
+
export const VALID_FROM_RAW = 21n;
|
|
43
|
+
export const VALID_UNTIL_RAW = 22n;
|
|
44
|
+
export const POSITION_RAW = 23n;
|
|
45
|
+
export const NICKNAME_RAW = 24n;
|
|
46
|
+
export const VALUE_RAW = 25n;
|
|
47
|
+
export const ATTESTATION_RAW = 26n;
|
|
48
|
+
export const VERIFIABLE_AT_RAW = 27n;
|
|
49
|
+
|
|
50
|
+
// Attachments
|
|
51
|
+
export const ATTACHMENT_RAW = 50n;
|
|
52
|
+
export const VENDOR_RAW = 51n;
|
|
53
|
+
export const CONFORMS_TO_RAW = 52n;
|
|
54
|
+
|
|
55
|
+
// XID Documents
|
|
56
|
+
export const ALLOW_RAW = 60n;
|
|
57
|
+
export const DENY_RAW = 61n;
|
|
58
|
+
export const ENDPOINT_RAW = 62n;
|
|
59
|
+
export const DELEGATE_RAW = 63n;
|
|
60
|
+
export const PROVENANCE_RAW = 64n;
|
|
61
|
+
export const PRIVATE_KEY_RAW = 65n;
|
|
62
|
+
export const SERVICE_RAW = 66n;
|
|
63
|
+
export const CAPABILITY_RAW = 67n;
|
|
64
|
+
export const PROVENANCE_GENERATOR_RAW = 68n;
|
|
65
|
+
|
|
66
|
+
// XID Privileges
|
|
67
|
+
export const PRIVILEGE_ALL_RAW = 70n;
|
|
68
|
+
export const PRIVILEGE_AUTH_RAW = 71n;
|
|
69
|
+
export const PRIVILEGE_SIGN_RAW = 72n;
|
|
70
|
+
export const PRIVILEGE_ENCRYPT_RAW = 73n;
|
|
71
|
+
export const PRIVILEGE_ELIDE_RAW = 74n;
|
|
72
|
+
export const PRIVILEGE_ISSUE_RAW = 75n;
|
|
73
|
+
export const PRIVILEGE_ACCESS_RAW = 76n;
|
|
74
|
+
export const PRIVILEGE_DELEGATE_RAW = 80n;
|
|
75
|
+
export const PRIVILEGE_VERIFY_RAW = 81n;
|
|
76
|
+
export const PRIVILEGE_UPDATE_RAW = 82n;
|
|
77
|
+
export const PRIVILEGE_TRANSFER_RAW = 83n;
|
|
78
|
+
export const PRIVILEGE_ELECT_RAW = 84n;
|
|
79
|
+
export const PRIVILEGE_BURN_RAW = 85n;
|
|
80
|
+
export const PRIVILEGE_REVOKE_RAW = 86n;
|
|
81
|
+
|
|
82
|
+
// Expression and Function Calls
|
|
83
|
+
export const BODY_RAW = 100n;
|
|
84
|
+
export const RESULT_RAW = 101n;
|
|
85
|
+
export const ERROR_RAW = 102n;
|
|
86
|
+
export const OK_VALUE_RAW = 103n;
|
|
87
|
+
export const PROCESSING_VALUE_RAW = 104n;
|
|
88
|
+
export const SENDER_RAW = 105n;
|
|
89
|
+
export const SENDER_CONTINUATION_RAW = 106n;
|
|
90
|
+
export const RECIPIENT_CONTINUATION_RAW = 107n;
|
|
91
|
+
export const CONTENT_RAW = 108n;
|
|
92
|
+
|
|
93
|
+
// Cryptography
|
|
94
|
+
export const SEED_TYPE_RAW = 200n;
|
|
95
|
+
export const PRIVATE_KEY_TYPE_RAW = 201n;
|
|
96
|
+
export const PUBLIC_KEY_TYPE_RAW = 202n;
|
|
97
|
+
export const MASTER_KEY_TYPE_RAW = 203n;
|
|
98
|
+
|
|
99
|
+
// Cryptocurrency Assets
|
|
100
|
+
export const ASSET_RAW = 300n;
|
|
101
|
+
export const BITCOIN_VALUE_RAW = 301n;
|
|
102
|
+
export const ETHEREUM_VALUE_RAW = 302n;
|
|
103
|
+
export const TEZOS_VALUE_RAW = 303n;
|
|
104
|
+
|
|
105
|
+
// Cryptocurrency Networks
|
|
106
|
+
export const NETWORK_RAW = 400n;
|
|
107
|
+
export const MAIN_NET_VALUE_RAW = 401n;
|
|
108
|
+
export const TEST_NET_VALUE_RAW = 402n;
|
|
109
|
+
|
|
110
|
+
// Bitcoin
|
|
111
|
+
export const BIP32_KEY_TYPE_RAW = 500n;
|
|
112
|
+
export const CHAIN_CODE_RAW = 501n;
|
|
113
|
+
export const DERIVATION_PATH_TYPE_RAW = 502n;
|
|
114
|
+
export const PARENT_PATH_RAW = 503n;
|
|
115
|
+
export const CHILDREN_PATH_RAW = 504n;
|
|
116
|
+
export const PARENT_FINGERPRINT_RAW = 505n;
|
|
117
|
+
export const PSBT_TYPE_RAW = 506n;
|
|
118
|
+
export const OUTPUT_DESCRIPTOR_TYPE_RAW = 507n;
|
|
119
|
+
export const OUTPUT_DESCRIPTOR_RAW = 508n;
|
|
120
|
+
|
|
121
|
+
// Graphs
|
|
122
|
+
export const GRAPH_RAW = 600n;
|
|
123
|
+
export const SOURCE_TARGET_GRAPH_RAW = 601n;
|
|
124
|
+
export const PARENT_CHILD_GRAPH_RAW = 602n;
|
|
125
|
+
export const DIGRAPH_RAW = 603n;
|
|
126
|
+
export const ACYCLIC_GRAPH_RAW = 604n;
|
|
127
|
+
export const MULTIGRAPH_RAW = 605n;
|
|
128
|
+
export const PSEUDOGRAPH_RAW = 606n;
|
|
129
|
+
export const GRAPH_FRAGMENT_RAW = 607n;
|
|
130
|
+
export const DAG_RAW = 608n;
|
|
131
|
+
export const TREE_RAW = 609n;
|
|
132
|
+
export const FOREST_RAW = 610n;
|
|
133
|
+
export const COMPOUND_GRAPH_RAW = 611n;
|
|
134
|
+
export const HYPERGRAPH_RAW = 612n;
|
|
135
|
+
export const DIHYPERGRAPH_RAW = 613n;
|
|
136
|
+
export const NODE_RAW = 700n;
|
|
137
|
+
export const EDGE_RAW = 701n;
|
|
138
|
+
export const SOURCE_RAW = 702n;
|
|
139
|
+
export const TARGET_RAW = 703n;
|
|
140
|
+
export const PARENT_RAW = 704n;
|
|
141
|
+
export const CHILD_RAW = 705n;
|
|
142
|
+
|
|
143
|
+
// =============================================================================
|
|
144
|
+
// KnownValue Constants
|
|
145
|
+
// =============================================================================
|
|
146
|
+
|
|
6
147
|
//
|
|
7
148
|
// General
|
|
8
149
|
//
|
|
@@ -32,7 +173,10 @@ export const VALID_FROM = new KnownValue(21, "validFrom");
|
|
|
32
173
|
export const VALID_UNTIL = new KnownValue(22, "validUntil");
|
|
33
174
|
export const POSITION = new KnownValue(23, "position");
|
|
34
175
|
export const NICKNAME = new KnownValue(24, "nickname");
|
|
35
|
-
|
|
176
|
+
export const VALUE = new KnownValue(25, "value");
|
|
177
|
+
export const ATTESTATION = new KnownValue(26, "attestation");
|
|
178
|
+
export const VERIFIABLE_AT = new KnownValue(27, "verifiableAt");
|
|
179
|
+
// 28-49 *unassigned*
|
|
36
180
|
|
|
37
181
|
//
|
|
38
182
|
// Attachments
|
|
@@ -63,7 +207,7 @@ export const PROVENANCE_GENERATOR = new KnownValue(68, "provenanceGenerator");
|
|
|
63
207
|
//
|
|
64
208
|
|
|
65
209
|
export const PRIVILEGE_ALL = new KnownValue(70, "All");
|
|
66
|
-
export const PRIVILEGE_AUTH = new KnownValue(71, "
|
|
210
|
+
export const PRIVILEGE_AUTH = new KnownValue(71, "Authorize");
|
|
67
211
|
export const PRIVILEGE_SIGN = new KnownValue(72, "Sign");
|
|
68
212
|
export const PRIVILEGE_ENCRYPT = new KnownValue(73, "Encrypt");
|
|
69
213
|
export const PRIVILEGE_ELIDE = new KnownValue(74, "Elide");
|
|
@@ -109,9 +253,9 @@ export const MASTER_KEY_TYPE = new KnownValue(203, "MasterKey");
|
|
|
109
253
|
//
|
|
110
254
|
|
|
111
255
|
export const ASSET = new KnownValue(300, "asset");
|
|
112
|
-
export const BITCOIN_VALUE = new KnownValue(301, "
|
|
113
|
-
export const ETHEREUM_VALUE = new KnownValue(302, "
|
|
114
|
-
export const TEZOS_VALUE = new KnownValue(303, "
|
|
256
|
+
export const BITCOIN_VALUE = new KnownValue(301, "Bitcoin");
|
|
257
|
+
export const ETHEREUM_VALUE = new KnownValue(302, "Ethereum");
|
|
258
|
+
export const TEZOS_VALUE = new KnownValue(303, "Tezos");
|
|
115
259
|
// 304-399 *unassigned*
|
|
116
260
|
|
|
117
261
|
//
|
|
@@ -130,8 +274,8 @@ export const TEST_NET_VALUE = new KnownValue(402, "TestNet");
|
|
|
130
274
|
export const BIP32_KEY_TYPE = new KnownValue(500, "BIP32Key");
|
|
131
275
|
export const CHAIN_CODE = new KnownValue(501, "chainCode");
|
|
132
276
|
export const DERIVATION_PATH_TYPE = new KnownValue(502, "DerivationPath");
|
|
133
|
-
export const PARENT_PATH = new KnownValue(503, "
|
|
134
|
-
export const CHILDREN_PATH = new KnownValue(504, "
|
|
277
|
+
export const PARENT_PATH = new KnownValue(503, "parentPath");
|
|
278
|
+
export const CHILDREN_PATH = new KnownValue(504, "childrenPath");
|
|
135
279
|
export const PARENT_FINGERPRINT = new KnownValue(505, "parentFingerprint");
|
|
136
280
|
export const PSBT_TYPE = new KnownValue(506, "PSBT");
|
|
137
281
|
export const OUTPUT_DESCRIPTOR_TYPE = new KnownValue(507, "OutputDescriptor");
|
|
@@ -142,7 +286,7 @@ export const OUTPUT_DESCRIPTOR = new KnownValue(508, "outputDescriptor");
|
|
|
142
286
|
// Graphs
|
|
143
287
|
//
|
|
144
288
|
|
|
145
|
-
export const GRAPH = new KnownValue(600, "
|
|
289
|
+
export const GRAPH = new KnownValue(600, "Graph");
|
|
146
290
|
export const SOURCE_TARGET_GRAPH = new KnownValue(601, "SourceTargetGraph");
|
|
147
291
|
export const PARENT_CHILD_GRAPH = new KnownValue(602, "ParentChildGraph");
|
|
148
292
|
export const DIGRAPH = new KnownValue(603, "Digraph");
|
|
@@ -163,7 +307,9 @@ export const SOURCE = new KnownValue(702, "source");
|
|
|
163
307
|
export const TARGET = new KnownValue(703, "target");
|
|
164
308
|
export const PARENT = new KnownValue(704, "parent");
|
|
165
309
|
export const CHILD = new KnownValue(705, "child");
|
|
166
|
-
|
|
310
|
+
export const SELF_RAW = 706n;
|
|
311
|
+
export const SELF = new KnownValue(706, "Self");
|
|
312
|
+
// 707-... *unassigned*
|
|
167
313
|
|
|
168
314
|
/**
|
|
169
315
|
* A lazily initialized singleton that holds the global registry of known
|
|
@@ -178,7 +324,7 @@ export const CHILD = new KnownValue(705, "child");
|
|
|
178
324
|
* users of the API, who should access Known Values through the constants
|
|
179
325
|
* exposed in the `known_values` module.
|
|
180
326
|
*/
|
|
181
|
-
class LazyKnownValues {
|
|
327
|
+
export class LazyKnownValues {
|
|
182
328
|
private _data: KnownValuesStore | undefined;
|
|
183
329
|
|
|
184
330
|
/**
|
|
@@ -187,108 +333,122 @@ class LazyKnownValues {
|
|
|
187
333
|
* This method guarantees that initialization occurs exactly once.
|
|
188
334
|
*/
|
|
189
335
|
get(): KnownValuesStore {
|
|
190
|
-
this._data
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
336
|
+
if (this._data === undefined) {
|
|
337
|
+
const store = new KnownValuesStore([
|
|
338
|
+
UNIT,
|
|
339
|
+
IS_A,
|
|
340
|
+
ID,
|
|
341
|
+
SIGNED,
|
|
342
|
+
NOTE,
|
|
343
|
+
HAS_RECIPIENT,
|
|
344
|
+
SSKR_SHARE,
|
|
345
|
+
CONTROLLER,
|
|
346
|
+
KEY,
|
|
347
|
+
DEREFERENCE_VIA,
|
|
348
|
+
ENTITY,
|
|
349
|
+
NAME,
|
|
350
|
+
LANGUAGE,
|
|
351
|
+
ISSUER,
|
|
352
|
+
HOLDER,
|
|
353
|
+
SALT,
|
|
354
|
+
DATE,
|
|
355
|
+
UNKNOWN_VALUE,
|
|
356
|
+
VERSION_VALUE,
|
|
357
|
+
HAS_SECRET,
|
|
358
|
+
DIFF_EDITS,
|
|
359
|
+
VALID_FROM,
|
|
360
|
+
VALID_UNTIL,
|
|
361
|
+
POSITION,
|
|
362
|
+
NICKNAME,
|
|
363
|
+
VALUE,
|
|
364
|
+
ATTESTATION,
|
|
365
|
+
VERIFIABLE_AT,
|
|
366
|
+
ATTACHMENT,
|
|
367
|
+
VENDOR,
|
|
368
|
+
CONFORMS_TO,
|
|
369
|
+
ALLOW,
|
|
370
|
+
DENY,
|
|
371
|
+
ENDPOINT,
|
|
372
|
+
DELEGATE,
|
|
373
|
+
PROVENANCE,
|
|
374
|
+
PRIVATE_KEY,
|
|
375
|
+
SERVICE,
|
|
376
|
+
CAPABILITY,
|
|
377
|
+
PROVENANCE_GENERATOR,
|
|
378
|
+
PRIVILEGE_ALL,
|
|
379
|
+
PRIVILEGE_AUTH,
|
|
380
|
+
PRIVILEGE_SIGN,
|
|
381
|
+
PRIVILEGE_ENCRYPT,
|
|
382
|
+
PRIVILEGE_ELIDE,
|
|
383
|
+
PRIVILEGE_ISSUE,
|
|
384
|
+
PRIVILEGE_ACCESS,
|
|
385
|
+
PRIVILEGE_DELEGATE,
|
|
386
|
+
PRIVILEGE_VERIFY,
|
|
387
|
+
PRIVILEGE_UPDATE,
|
|
388
|
+
PRIVILEGE_TRANSFER,
|
|
389
|
+
PRIVILEGE_ELECT,
|
|
390
|
+
PRIVILEGE_BURN,
|
|
391
|
+
PRIVILEGE_REVOKE,
|
|
392
|
+
BODY,
|
|
393
|
+
RESULT,
|
|
394
|
+
ERROR,
|
|
395
|
+
OK_VALUE,
|
|
396
|
+
PROCESSING_VALUE,
|
|
397
|
+
SENDER,
|
|
398
|
+
SENDER_CONTINUATION,
|
|
399
|
+
RECIPIENT_CONTINUATION,
|
|
400
|
+
CONTENT,
|
|
401
|
+
SEED_TYPE,
|
|
402
|
+
PRIVATE_KEY_TYPE,
|
|
403
|
+
PUBLIC_KEY_TYPE,
|
|
404
|
+
MASTER_KEY_TYPE,
|
|
405
|
+
ASSET,
|
|
406
|
+
BITCOIN_VALUE,
|
|
407
|
+
ETHEREUM_VALUE,
|
|
408
|
+
TEZOS_VALUE,
|
|
409
|
+
NETWORK,
|
|
410
|
+
MAIN_NET_VALUE,
|
|
411
|
+
TEST_NET_VALUE,
|
|
412
|
+
BIP32_KEY_TYPE,
|
|
413
|
+
CHAIN_CODE,
|
|
414
|
+
DERIVATION_PATH_TYPE,
|
|
415
|
+
PARENT_PATH,
|
|
416
|
+
CHILDREN_PATH,
|
|
417
|
+
PARENT_FINGERPRINT,
|
|
418
|
+
PSBT_TYPE,
|
|
419
|
+
OUTPUT_DESCRIPTOR_TYPE,
|
|
420
|
+
OUTPUT_DESCRIPTOR,
|
|
421
|
+
GRAPH,
|
|
422
|
+
SOURCE_TARGET_GRAPH,
|
|
423
|
+
PARENT_CHILD_GRAPH,
|
|
424
|
+
DIGRAPH,
|
|
425
|
+
ACYCLIC_GRAPH,
|
|
426
|
+
MULTIGRAPH,
|
|
427
|
+
PSEUDOGRAPH,
|
|
428
|
+
GRAPH_FRAGMENT,
|
|
429
|
+
DAG,
|
|
430
|
+
TREE,
|
|
431
|
+
FOREST,
|
|
432
|
+
COMPOUND_GRAPH,
|
|
433
|
+
HYPERGRAPH,
|
|
434
|
+
DIHYPERGRAPH,
|
|
435
|
+
NODE,
|
|
436
|
+
EDGE,
|
|
437
|
+
SOURCE,
|
|
438
|
+
TARGET,
|
|
439
|
+
PARENT,
|
|
440
|
+
CHILD,
|
|
441
|
+
]);
|
|
442
|
+
|
|
443
|
+
// Load bundled registry values from JSON data files.
|
|
444
|
+
// These are embedded at build time and available in all environments.
|
|
445
|
+
// Matching Rust behavior: later inserts overwrite earlier ones.
|
|
446
|
+
for (const value of loadBundledRegistries()) {
|
|
447
|
+
store.insert(value);
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
this._data = store;
|
|
451
|
+
}
|
|
292
452
|
return this._data;
|
|
293
453
|
}
|
|
294
454
|
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2023-2026 Blockchain Commons, LLC
|
|
3
|
+
* Copyright © 2025-2026 Parity Technologies
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
|
|
1
7
|
import { KnownValue, type KnownValueInput } from "./known-value";
|
|
2
8
|
|
|
3
9
|
/**
|
|
@@ -318,6 +324,16 @@ export class KnownValuesStore {
|
|
|
318
324
|
* Internal helper method to insert a KnownValue into the store's maps.
|
|
319
325
|
*/
|
|
320
326
|
private _insert(knownValue: KnownValue): void {
|
|
327
|
+
// If there's an existing value with the same codepoint, remove its name
|
|
328
|
+
// from the name index to avoid stale entries
|
|
329
|
+
const existing = this.knownValuesByRawValue.get(knownValue.valueBigInt());
|
|
330
|
+
if (existing !== undefined) {
|
|
331
|
+
const oldName = existing.assignedName();
|
|
332
|
+
if (oldName !== undefined && oldName !== "") {
|
|
333
|
+
this.knownValuesByAssignedName.delete(oldName);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
321
337
|
this.knownValuesByRawValue.set(knownValue.valueBigInt(), knownValue);
|
|
322
338
|
const assignedName = knownValue.assignedName();
|
|
323
339
|
if (assignedName !== undefined && assignedName !== "") {
|