@cardananium/cquisitor-lib 0.1.0-beta.52 → 0.1.0-beta.53
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.
|
@@ -171,6 +171,30 @@ export function validate_cbor_against_cddl(
|
|
|
171
171
|
rule_name: string
|
|
172
172
|
): CborValidationResult;
|
|
173
173
|
|
|
174
|
+
/**
|
|
175
|
+
* **CDDL spans carry both byte and char offsets.** `offset`/`length`
|
|
176
|
+
* count UTF-8 bytes (what `pest` reports); `char_offset`/`char_length`
|
|
177
|
+
* count UTF-16 code units — the unit JS strings, `string.slice`,
|
|
178
|
+
* editor APIs, and the LSP protocol use. For ASCII-only sources the
|
|
179
|
+
* two pairs are identical.
|
|
180
|
+
*
|
|
181
|
+
* **CBOR spans are byte offsets only** — into the decoded CBOR buffer.
|
|
182
|
+
* If you have a hex string, multiply by 2 to slice the hex view:
|
|
183
|
+
* `hex.slice(off*2, (off+len)*2)`.
|
|
184
|
+
*/
|
|
185
|
+
export interface SourceSpan {
|
|
186
|
+
/** UTF-8 byte offset in the source. */
|
|
187
|
+
offset: number;
|
|
188
|
+
/** UTF-8 byte length. */
|
|
189
|
+
length: number;
|
|
190
|
+
/** UTF-16 code unit offset (= `string.slice`-friendly). */
|
|
191
|
+
char_offset: number;
|
|
192
|
+
/** UTF-16 code unit length. */
|
|
193
|
+
char_length: number;
|
|
194
|
+
/** 1-indexed line. */
|
|
195
|
+
line: number;
|
|
196
|
+
}
|
|
197
|
+
|
|
174
198
|
/** Outline entry — one rule from `cddl_outline`. */
|
|
175
199
|
export interface CddlOutlineEntry {
|
|
176
200
|
/** Rule name (`transaction_body`, `set`, …). */
|
|
@@ -178,9 +202,9 @@ export interface CddlOutlineEntry {
|
|
|
178
202
|
/** `"type"` for `=`, `"group"` for `( … )`. */
|
|
179
203
|
kind: "type" | "group";
|
|
180
204
|
/** Byte range covering the whole `name = …` rule definition. */
|
|
181
|
-
span:
|
|
205
|
+
span: SourceSpan;
|
|
182
206
|
/** Byte range of just the rule's name identifier. */
|
|
183
|
-
name_span:
|
|
207
|
+
name_span: SourceSpan;
|
|
184
208
|
}
|
|
185
209
|
|
|
186
210
|
/** Result of `cddl_symbol_at`. `null` when the cursor isn't on an identifier. */
|
|
@@ -190,15 +214,15 @@ export type CddlSymbolAtResult =
|
|
|
190
214
|
name: string;
|
|
191
215
|
kind: "type" | "group" | "rule_reference" | "prelude_or_unknown";
|
|
192
216
|
role: "definition" | "use";
|
|
193
|
-
span:
|
|
194
|
-
definition_span:
|
|
195
|
-
rule_span:
|
|
217
|
+
span: SourceSpan;
|
|
218
|
+
definition_span: SourceSpan | null;
|
|
219
|
+
rule_span: SourceSpan | null;
|
|
196
220
|
};
|
|
197
221
|
|
|
198
222
|
/** Result of `cddl_references`. */
|
|
199
223
|
export interface CddlReferencesResult {
|
|
200
|
-
definition:
|
|
201
|
-
uses:
|
|
224
|
+
definition: SourceSpan | null;
|
|
225
|
+
uses: SourceSpan[];
|
|
202
226
|
}
|
|
203
227
|
|
|
204
228
|
/**
|
|
@@ -245,12 +269,19 @@ export interface CborCddlMapEntry {
|
|
|
245
269
|
* except 0 / 2 / 3) the inner gets an extra `["@value"]` segment
|
|
246
270
|
* to match the `{@tag, @value}` wrapper the decoder emits. */
|
|
247
271
|
decoded_path: string;
|
|
272
|
+
/** Whether this entry describes the value at `cbor_path`, or the
|
|
273
|
+
* *key* of a map entry at that path. Map entries with named keys
|
|
274
|
+
* produce both a `"key"` entry (CBOR span = key bytes, CDDL span
|
|
275
|
+
* = `name:` / `<value>:` declaration) and a `"value"` entry; both
|
|
276
|
+
* carry the same `cbor_path` / `decoded_path`. Array slots, tag
|
|
277
|
+
* payloads, and root nodes are always `"value"`. */
|
|
278
|
+
entry_role: "key" | "value";
|
|
248
279
|
/** Header byte range of the CBOR node. */
|
|
249
280
|
cbor_byte_span: { offset: number; length: number };
|
|
250
281
|
/** Whole-structure byte range (= `cbor_byte_span` for scalars). */
|
|
251
282
|
cbor_anchor_span: { offset: number; length: number };
|
|
252
283
|
/** Byte range in the CDDL source describing this position. */
|
|
253
|
-
cddl_byte_span:
|
|
284
|
+
cddl_byte_span: SourceSpan;
|
|
254
285
|
/** Name of the CDDL rule that matched, if a rule boundary was crossed. */
|
|
255
286
|
rule_name?: string;
|
|
256
287
|
/** CBOR node's wire type (`U8`, `Bytes`, `Map`, `Array`, `Tag`, …). */
|
|
@@ -519,7 +550,7 @@ export interface CddlErrorInfo {
|
|
|
519
550
|
* Byte range in the CDDL source the parser tripped over, when the
|
|
520
551
|
* error has positional info. Useful for IDE squiggly underlines.
|
|
521
552
|
*/
|
|
522
|
-
byte_span?:
|
|
553
|
+
byte_span?: SourceSpan;
|
|
523
554
|
}
|
|
524
555
|
|
|
525
556
|
export type CborValidationResult =
|
|
@@ -553,7 +584,7 @@ export interface CborValidationErrorInfo {
|
|
|
553
584
|
* the AST in parallel with `path`). Useful for highlighting the
|
|
554
585
|
* offending CDDL rule in editors.
|
|
555
586
|
*/
|
|
556
|
-
cddl_byte_span?:
|
|
587
|
+
cddl_byte_span?: SourceSpan;
|
|
557
588
|
/** Other validation errors reported in the same run. */
|
|
558
589
|
additional?: CborValidationErrorInfo[];
|
|
559
590
|
}
|
|
Binary file
|
|
@@ -4,7 +4,15 @@ export const memory: WebAssembly.Memory;
|
|
|
4
4
|
export const decode_specific_type: (a: number, b: number, c: number, d: number, e: any) => [number, number, number];
|
|
5
5
|
export const get_decodable_types: () => [number, number];
|
|
6
6
|
export const get_possible_types_for_input: (a: number, b: number) => [number, number];
|
|
7
|
+
export const check_block_or_tx_signatures: (a: number, b: number) => [number, number, number];
|
|
8
|
+
export const get_necessary_data_list_js: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
9
|
+
export const validate_transaction_js: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
7
10
|
export const extract_hashes_from_transaction_js: (a: number, b: number) => [number, number, number, number];
|
|
11
|
+
export const decode_plutus_program_pretty_uplc: (a: number, b: number) => [number, number, number, number];
|
|
12
|
+
export const decode_plutus_program_uplc_json: (a: number, b: number) => [number, number, number];
|
|
13
|
+
export const execute_tx_scripts: (a: number, b: number, c: any, d: any) => [number, number, number];
|
|
14
|
+
export const get_ref_script_bytes: (a: number, b: number, c: number) => [number, number, number, number];
|
|
15
|
+
export const get_utxo_list_from_tx: (a: number, b: number) => [number, number, number, number];
|
|
8
16
|
export const cbor_to_json: (a: number, b: number) => [number, number, number];
|
|
9
17
|
export const cddl_format: (a: number, b: number) => [number, number, number, number];
|
|
10
18
|
export const cddl_outline: (a: number, b: number) => [number, number, number];
|
|
@@ -14,14 +22,6 @@ export const decode_cbor_against_cddl: (a: number, b: number, c: number, d: numb
|
|
|
14
22
|
export const map_cbor_to_cddl: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
15
23
|
export const validate_cbor_against_cddl: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
16
24
|
export const validate_cddl: (a: number, b: number) => [number, number, number];
|
|
17
|
-
export const decode_plutus_program_pretty_uplc: (a: number, b: number) => [number, number, number, number];
|
|
18
|
-
export const decode_plutus_program_uplc_json: (a: number, b: number) => [number, number, number];
|
|
19
|
-
export const execute_tx_scripts: (a: number, b: number, c: any, d: any) => [number, number, number];
|
|
20
|
-
export const get_ref_script_bytes: (a: number, b: number, c: number) => [number, number, number, number];
|
|
21
|
-
export const get_utxo_list_from_tx: (a: number, b: number) => [number, number, number, number];
|
|
22
|
-
export const check_block_or_tx_signatures: (a: number, b: number) => [number, number, number];
|
|
23
|
-
export const get_necessary_data_list_js: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
24
|
-
export const validate_transaction_js: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
25
25
|
export const validate_cbor_from_slice: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
26
26
|
export const validate_json_from_str: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
27
27
|
export const cddl_from_str: (a: number, b: number) => [number, number, number];
|
package/node/cquisitor_lib.d.ts
CHANGED
|
@@ -171,6 +171,30 @@ export function validate_cbor_against_cddl(
|
|
|
171
171
|
rule_name: string
|
|
172
172
|
): CborValidationResult;
|
|
173
173
|
|
|
174
|
+
/**
|
|
175
|
+
* **CDDL spans carry both byte and char offsets.** `offset`/`length`
|
|
176
|
+
* count UTF-8 bytes (what `pest` reports); `char_offset`/`char_length`
|
|
177
|
+
* count UTF-16 code units — the unit JS strings, `string.slice`,
|
|
178
|
+
* editor APIs, and the LSP protocol use. For ASCII-only sources the
|
|
179
|
+
* two pairs are identical.
|
|
180
|
+
*
|
|
181
|
+
* **CBOR spans are byte offsets only** — into the decoded CBOR buffer.
|
|
182
|
+
* If you have a hex string, multiply by 2 to slice the hex view:
|
|
183
|
+
* `hex.slice(off*2, (off+len)*2)`.
|
|
184
|
+
*/
|
|
185
|
+
export interface SourceSpan {
|
|
186
|
+
/** UTF-8 byte offset in the source. */
|
|
187
|
+
offset: number;
|
|
188
|
+
/** UTF-8 byte length. */
|
|
189
|
+
length: number;
|
|
190
|
+
/** UTF-16 code unit offset (= `string.slice`-friendly). */
|
|
191
|
+
char_offset: number;
|
|
192
|
+
/** UTF-16 code unit length. */
|
|
193
|
+
char_length: number;
|
|
194
|
+
/** 1-indexed line. */
|
|
195
|
+
line: number;
|
|
196
|
+
}
|
|
197
|
+
|
|
174
198
|
/** Outline entry — one rule from `cddl_outline`. */
|
|
175
199
|
export interface CddlOutlineEntry {
|
|
176
200
|
/** Rule name (`transaction_body`, `set`, …). */
|
|
@@ -178,9 +202,9 @@ export interface CddlOutlineEntry {
|
|
|
178
202
|
/** `"type"` for `=`, `"group"` for `( … )`. */
|
|
179
203
|
kind: "type" | "group";
|
|
180
204
|
/** Byte range covering the whole `name = …` rule definition. */
|
|
181
|
-
span:
|
|
205
|
+
span: SourceSpan;
|
|
182
206
|
/** Byte range of just the rule's name identifier. */
|
|
183
|
-
name_span:
|
|
207
|
+
name_span: SourceSpan;
|
|
184
208
|
}
|
|
185
209
|
|
|
186
210
|
/** Result of `cddl_symbol_at`. `null` when the cursor isn't on an identifier. */
|
|
@@ -190,15 +214,15 @@ export type CddlSymbolAtResult =
|
|
|
190
214
|
name: string;
|
|
191
215
|
kind: "type" | "group" | "rule_reference" | "prelude_or_unknown";
|
|
192
216
|
role: "definition" | "use";
|
|
193
|
-
span:
|
|
194
|
-
definition_span:
|
|
195
|
-
rule_span:
|
|
217
|
+
span: SourceSpan;
|
|
218
|
+
definition_span: SourceSpan | null;
|
|
219
|
+
rule_span: SourceSpan | null;
|
|
196
220
|
};
|
|
197
221
|
|
|
198
222
|
/** Result of `cddl_references`. */
|
|
199
223
|
export interface CddlReferencesResult {
|
|
200
|
-
definition:
|
|
201
|
-
uses:
|
|
224
|
+
definition: SourceSpan | null;
|
|
225
|
+
uses: SourceSpan[];
|
|
202
226
|
}
|
|
203
227
|
|
|
204
228
|
/**
|
|
@@ -245,12 +269,19 @@ export interface CborCddlMapEntry {
|
|
|
245
269
|
* except 0 / 2 / 3) the inner gets an extra `["@value"]` segment
|
|
246
270
|
* to match the `{@tag, @value}` wrapper the decoder emits. */
|
|
247
271
|
decoded_path: string;
|
|
272
|
+
/** Whether this entry describes the value at `cbor_path`, or the
|
|
273
|
+
* *key* of a map entry at that path. Map entries with named keys
|
|
274
|
+
* produce both a `"key"` entry (CBOR span = key bytes, CDDL span
|
|
275
|
+
* = `name:` / `<value>:` declaration) and a `"value"` entry; both
|
|
276
|
+
* carry the same `cbor_path` / `decoded_path`. Array slots, tag
|
|
277
|
+
* payloads, and root nodes are always `"value"`. */
|
|
278
|
+
entry_role: "key" | "value";
|
|
248
279
|
/** Header byte range of the CBOR node. */
|
|
249
280
|
cbor_byte_span: { offset: number; length: number };
|
|
250
281
|
/** Whole-structure byte range (= `cbor_byte_span` for scalars). */
|
|
251
282
|
cbor_anchor_span: { offset: number; length: number };
|
|
252
283
|
/** Byte range in the CDDL source describing this position. */
|
|
253
|
-
cddl_byte_span:
|
|
284
|
+
cddl_byte_span: SourceSpan;
|
|
254
285
|
/** Name of the CDDL rule that matched, if a rule boundary was crossed. */
|
|
255
286
|
rule_name?: string;
|
|
256
287
|
/** CBOR node's wire type (`U8`, `Bytes`, `Map`, `Array`, `Tag`, …). */
|
|
@@ -519,7 +550,7 @@ export interface CddlErrorInfo {
|
|
|
519
550
|
* Byte range in the CDDL source the parser tripped over, when the
|
|
520
551
|
* error has positional info. Useful for IDE squiggly underlines.
|
|
521
552
|
*/
|
|
522
|
-
byte_span?:
|
|
553
|
+
byte_span?: SourceSpan;
|
|
523
554
|
}
|
|
524
555
|
|
|
525
556
|
export type CborValidationResult =
|
|
@@ -553,7 +584,7 @@ export interface CborValidationErrorInfo {
|
|
|
553
584
|
* the AST in parallel with `path`). Useful for highlighting the
|
|
554
585
|
* offending CDDL rule in editors.
|
|
555
586
|
*/
|
|
556
|
-
cddl_byte_span?:
|
|
587
|
+
cddl_byte_span?: SourceSpan;
|
|
557
588
|
/** Other validation errors reported in the same run. */
|
|
558
589
|
additional?: CborValidationErrorInfo[];
|
|
559
590
|
}
|
|
Binary file
|
|
@@ -4,7 +4,15 @@ export const memory: WebAssembly.Memory;
|
|
|
4
4
|
export const decode_specific_type: (a: number, b: number, c: number, d: number, e: any) => [number, number, number];
|
|
5
5
|
export const get_decodable_types: () => [number, number];
|
|
6
6
|
export const get_possible_types_for_input: (a: number, b: number) => [number, number];
|
|
7
|
+
export const check_block_or_tx_signatures: (a: number, b: number) => [number, number, number];
|
|
8
|
+
export const get_necessary_data_list_js: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
9
|
+
export const validate_transaction_js: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
7
10
|
export const extract_hashes_from_transaction_js: (a: number, b: number) => [number, number, number, number];
|
|
11
|
+
export const decode_plutus_program_pretty_uplc: (a: number, b: number) => [number, number, number, number];
|
|
12
|
+
export const decode_plutus_program_uplc_json: (a: number, b: number) => [number, number, number];
|
|
13
|
+
export const execute_tx_scripts: (a: number, b: number, c: any, d: any) => [number, number, number];
|
|
14
|
+
export const get_ref_script_bytes: (a: number, b: number, c: number) => [number, number, number, number];
|
|
15
|
+
export const get_utxo_list_from_tx: (a: number, b: number) => [number, number, number, number];
|
|
8
16
|
export const cbor_to_json: (a: number, b: number) => [number, number, number];
|
|
9
17
|
export const cddl_format: (a: number, b: number) => [number, number, number, number];
|
|
10
18
|
export const cddl_outline: (a: number, b: number) => [number, number, number];
|
|
@@ -14,14 +22,6 @@ export const decode_cbor_against_cddl: (a: number, b: number, c: number, d: numb
|
|
|
14
22
|
export const map_cbor_to_cddl: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
15
23
|
export const validate_cbor_against_cddl: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
16
24
|
export const validate_cddl: (a: number, b: number) => [number, number, number];
|
|
17
|
-
export const decode_plutus_program_pretty_uplc: (a: number, b: number) => [number, number, number, number];
|
|
18
|
-
export const decode_plutus_program_uplc_json: (a: number, b: number) => [number, number, number];
|
|
19
|
-
export const execute_tx_scripts: (a: number, b: number, c: any, d: any) => [number, number, number];
|
|
20
|
-
export const get_ref_script_bytes: (a: number, b: number, c: number) => [number, number, number, number];
|
|
21
|
-
export const get_utxo_list_from_tx: (a: number, b: number) => [number, number, number, number];
|
|
22
|
-
export const check_block_or_tx_signatures: (a: number, b: number) => [number, number, number];
|
|
23
|
-
export const get_necessary_data_list_js: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
24
|
-
export const validate_transaction_js: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
25
25
|
export const validate_cbor_from_slice: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
26
26
|
export const validate_json_from_str: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
27
27
|
export const cddl_from_str: (a: number, b: number) => [number, number, number];
|
package/package.json
CHANGED