@callcium/sdk 0.5.0 → 0.7.0

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/dist/index.d.ts CHANGED
@@ -45,9 +45,7 @@ type SelectorMismatchViolation = {
45
45
  };
46
46
  /**
47
47
  * A context-scoped rule referenced a property not supplied in the execution context.
48
- *
49
- * `opCode` and `operandData` may be added in future versions as diagnostic context
50
- * without breaking the contract; consumers should tolerate their presence.
48
+
51
49
  */
52
50
  type MissingContextViolation = {
53
51
  code: "MISSING_CONTEXT";
@@ -102,11 +100,9 @@ type CalldataNavigationVariant<C extends NavigationViolationCode> = {
102
100
  * Calldata structure prevented the rule from being evaluated.
103
101
  *
104
102
  * The operator was never applied; `opCode`, `operandData`, `typeCode`, and `elementIndex`
105
- * are diagnostic context describing the failing site, not a constraint claim. Renderers
106
- * must not summarise these as "constraint violated".
103
+ * are diagnostic context describing the failing site, not a constraint claim.
107
104
  *
108
- * Encoded as a union of per-code variants so consumers can narrow on a single code via
109
- * `Extract<Violation, { code: "..." }>`.
105
+ * A union of per-code variants, narrowable with `Extract<Violation, { code: "..." }>`.
110
106
  */
111
107
  type CalldataNavigationViolation = CalldataNavigationVariant<"CALLDATA_OUT_OF_BOUNDS"> | CalldataNavigationVariant<"ARRAY_INDEX_OUT_OF_BOUNDS">;
112
108
  /** A quantified array exceeded `Limits.MAX_QUANTIFIED_ARRAY_LENGTH`. */
@@ -118,7 +114,24 @@ type QuantifierLimitExceededViolation = {
118
114
  path: Hex; /** Hex-encoded element count of the offending array. */
119
115
  resolvedValue: Hex;
120
116
  };
121
- /** A quantifier (`ANY` or `ALL`) was applied to an empty array. */
117
+ /**
118
+ * A resolved word is not the canonical encoding of its declared type (spec §7.4).
119
+ *
120
+ * `resolvedValue` is the raw 32-byte word as it appeared in calldata, before any masking.
121
+ */
122
+ type NonCanonicalValueViolation = {
123
+ code: "NON_CANONICAL_VALUE";
124
+ group: number;
125
+ rule: number;
126
+ scope: number;
127
+ path: Hex; /** Type code of the target whose encoding was violated. */
128
+ typeCode: number; /** Raw 32-byte word as it appeared in calldata, before any masking. */
129
+ resolvedValue: Hex;
130
+ opCode?: number;
131
+ operandData?: Hex;
132
+ elementIndex?: number;
133
+ };
134
+ /** An `ANY` quantifier was applied to an empty array. */
122
135
  type QuantifierEmptyArrayViolation = {
123
136
  code: "QUANTIFIER_EMPTY_ARRAY";
124
137
  group: number;
@@ -129,10 +142,10 @@ type QuantifierEmptyArrayViolation = {
129
142
  /**
130
143
  * Structured details of a single rule failure during enforcement.
131
144
  *
132
- * Carries semantic data only — message strings are the consumer's responsibility.
145
+ * Carries semantic data only; no message strings.
133
146
  * Discriminate on `code` to narrow to the matching variant.
134
147
  */
135
- type Violation = MissingSelectorViolation | SelectorMismatchViolation | MissingContextViolation | ValueMismatchViolation | CalldataNavigationViolation | QuantifierLimitExceededViolation | QuantifierEmptyArrayViolation;
148
+ type Violation = MissingSelectorViolation | SelectorMismatchViolation | MissingContextViolation | ValueMismatchViolation | CalldataNavigationViolation | NonCanonicalValueViolation | QuantifierLimitExceededViolation | QuantifierEmptyArrayViolation;
136
149
  /** Machine-readable reason code for an enforcement violation. Derived from `Violation` to prevent drift. */
137
150
  type ViolationCode = Violation["code"];
138
151
  /** Canonical structured representation of a policy. */
@@ -147,7 +160,8 @@ type PolicyData = {
147
160
  type Constraint = {
148
161
  scope: number;
149
162
  path: Hex;
150
- operators: Hex[];
163
+ operators: Hex[]; /** Compiled hint block as carried on the wire; absent when the constraint has no encoding. */
164
+ hint?: Hex;
151
165
  span?: Span;
152
166
  };
153
167
  /** A decoded value with its byte position in the source blob. */
@@ -169,7 +183,8 @@ type DecodedRule = {
169
183
  ruleSize: Field<number>;
170
184
  scope: Field<number>;
171
185
  pathDepth: Field<number>;
172
- path: Field<Hex>;
186
+ path: Field<Hex>; /** Compiled hint block; present for calldata rules only. */
187
+ hint?: Field<Hex>;
173
188
  opCode: Field<number>;
174
189
  dataLength: Field<number>;
175
190
  data: Field<Hex>;
@@ -332,7 +347,8 @@ declare class PolicyBuilder {
332
347
  * Throws on any issue, regardless of severity. Use {@link validate} to
333
348
  * inspect issues, or {@link buildUnsafe} to encode without validation.
334
349
  * @returns The policy as a 0x-prefixed hex string.
335
- * @throws {CallciumError} If any group is empty or validation finds any issue.
350
+ * @throws {CallciumError} If any group is empty.
351
+ * @throws {ValidationError} If validation finds any issue.
336
352
  */
337
353
  build(): Hex;
338
354
  /**
@@ -427,7 +443,7 @@ declare function inspect(desc: Uint8Array, offset: number): TypeInfo;
427
443
  * @param desc - Raw descriptor bytes.
428
444
  * @param steps - Path steps, length >= 1.
429
445
  * @returns TypeInfo for the node at the resolved path.
430
- * @throws {CallciumError} On empty steps, out-of-bounds param, or descent into elementary type.
446
+ * @throws {CallciumError} On empty steps, out-of-bounds param or array index, or descent into elementary type.
431
447
  */
432
448
  declare function typeAt(desc: Uint8Array, steps: number[]): TypeInfo;
433
449
  /**
@@ -437,7 +453,7 @@ declare function typeAt(desc: Uint8Array, steps: number[]): TypeInfo;
437
453
  * @param desc - Raw descriptor bytes.
438
454
  * @param steps - Path steps, length >= 1.
439
455
  * @returns TypeInfo at the resolved path and the quantified static array length.
440
- * @throws {CallciumError} On empty steps, out-of-bounds param, or descent into elementary type.
456
+ * @throws {CallciumError} On empty steps, out-of-bounds param or array index, or descent into elementary type.
441
457
  */
442
458
  declare function walkPath(desc: Uint8Array, steps: number[]): {
443
459
  typeInfo: TypeInfo;
@@ -460,6 +476,16 @@ declare function staticArrayLength(desc: Uint8Array, offset: number): number;
460
476
  * @param offset - Byte position of the array node (static or dynamic).
461
477
  */
462
478
  declare function arrayElementOffset(offset: number): number;
479
+ /**
480
+ * Compile a calldata rule path into its wire hint block.
481
+ *
482
+ * @param desc - Raw descriptor bytes.
483
+ * @param steps - Path steps, length >= 1.
484
+ * @returns The hint block bytes.
485
+ * @throws {CallciumError} When a step leaves the structure the descriptor declares, quantifies over
486
+ * a non-array node, or repeats a quantifier.
487
+ */
488
+ declare function compileHint(desc: Uint8Array, steps: number[]): Uint8Array;
463
489
  /** Inspect and navigate raw descriptor bytes. */
464
490
  declare const Descriptor: {
465
491
  paramCount: typeof paramCount;
@@ -472,6 +498,7 @@ declare const Descriptor: {
472
498
  nodeLength: typeof nodeLength;
473
499
  arrayElementOffset: typeof arrayElementOffset;
474
500
  walkPath: typeof walkPath;
501
+ compileHint: typeof compileHint;
475
502
  };
476
503
  //#endregion
477
504
  //#region src/policy-validator.d.ts
@@ -484,6 +511,8 @@ declare function isOpAllowed(opCode: number, typeInfo: TypeInfo): boolean;
484
511
  * Validate a policy for type mismatches, contradictions, redundancies, and vacuities.
485
512
  * @param data - The canonical policy data to validate.
486
513
  * @returns All validation issues found, ordered by group and constraint index.
514
+ * @throws {CallciumError} If the descriptor is not well-formed; semantic validation is
515
+ * defined only over a well-formed descriptor.
487
516
  */
488
517
  declare function validate(data: PolicyData): Issue[];
489
518
  /** Semantic validation for policies. */
@@ -530,7 +559,7 @@ declare function toAddress(hex: string): Address;
530
559
  *
531
560
  * @param typesCsv - Comma-separated ABI type strings, e.g. `"address,uint256,(bool,bytes32)[],string"`.
532
561
  * @returns Binary descriptor bytes starting with the version+paramCount header.
533
- * @throws {CallciumError} With code `INVALID_TYPE_STRING` for malformed input.
562
+ * @throws {CallciumError} With code `MALFORMED_TYPE_STRING` for malformed input.
534
563
  * @throws {CallciumError} With code `UNKNOWN_TYPE` for unrecognised type names.
535
564
  */
536
565
  declare function fromTypes(typesCsv: string): Uint8Array;
@@ -551,6 +580,55 @@ declare const DescriptorCoder: {
551
580
  };
552
581
  //#endregion
553
582
  //#region src/constants.d.ts
583
+ /** Binary layout constants for the Callcium policy format. */
584
+ declare const PolicyFormat: {
585
+ readonly VERSION: 2;
586
+ readonly VERSION_MASK: 15;
587
+ readonly FLAG_NO_SELECTOR: 16;
588
+ readonly RESERVED_MASK: 224;
589
+ readonly HEADER_SIZE: 1;
590
+ readonly SELECTOR_OFFSET: 1;
591
+ readonly SELECTOR_SIZE: 4;
592
+ readonly DESC_LENGTH_OFFSET: 5;
593
+ readonly DESC_LENGTH_SIZE: 2;
594
+ readonly DESC_OFFSET: 7;
595
+ readonly GROUP_COUNT_SIZE: 1;
596
+ readonly GROUP_RULECOUNT_SIZE: 2;
597
+ readonly GROUP_SIZE_SIZE: 4;
598
+ readonly GROUP_HEADER_SIZE: 6;
599
+ readonly RULE_SIZE_SIZE: 2;
600
+ readonly RULE_SCOPE_OFFSET: 2;
601
+ readonly RULE_DEPTH_OFFSET: 3;
602
+ readonly RULE_PATH_OFFSET: 4;
603
+ readonly PATH_STEP_SIZE: 2;
604
+ readonly RULE_OPCODE_SIZE: 1;
605
+ readonly RULE_DATALENGTH_SIZE: 2;
606
+ readonly RULE_FIXED_OVERHEAD: 7;
607
+ readonly RULE_MIN_SIZE: 9;
608
+ readonly HINT_HEADER_SIZE: 1;
609
+ readonly HINT_HOP_SIZE: 8;
610
+ readonly HINT_HOP_INDEX_OFFSET: 4;
611
+ readonly HINT_HOP_META_OFFSET: 6;
612
+ readonly HINT_FRAME_PREFIX_SIZE: 8;
613
+ readonly HINT_FRAME_COUNT_OFFSET: 4;
614
+ readonly HINT_FRAME_META_OFFSET: 6;
615
+ readonly HINT_TARGET_SIZE: 7;
616
+ readonly HINT_TARGET_META_OFFSET: 4;
617
+ readonly HINT_TARGET_TYPECODE_OFFSET: 6;
618
+ readonly HINT_KIND_NONE: 0;
619
+ readonly HINT_KIND_ALL: 1;
620
+ readonly HINT_KIND_ANY: 2;
621
+ readonly HINT_KIND_MAX: 2;
622
+ readonly HINT_KIND_SHIFT: 6;
623
+ readonly HINT_HOP_COUNT_MASK: 63;
624
+ readonly HINT_SUFFIX_RESERVED_MASK: 192;
625
+ readonly HINT_NO_INDEX: 65535;
626
+ readonly HINT_INDEX_RESERVED: 65534;
627
+ readonly HINT_META_ELEM_DYNAMIC: 32768;
628
+ readonly HINT_META_DYNAMIC_ARRAY: 16384;
629
+ readonly HINT_META_RESERVED_MASK: 12288;
630
+ readonly HINT_META_STRIDE_MASK: 4095;
631
+ };
554
632
  /**
555
633
  * Extract a `{ KEY: code }` map from a table with `key` and `code` fields.
556
634
  * @internal
@@ -582,13 +660,13 @@ type ScopeInfo = {
582
660
  declare function lookupScope(code: number): ScopeInfo;
583
661
  /** ABI type code ranges and sentinel values for the descriptor format. */
584
662
  declare const TypeCode: {
585
- readonly UINT_MIN: 0;
586
- readonly UINT_MAX: 31;
587
- readonly INT_MIN: 32;
588
- readonly INT_MAX: 63;
589
- readonly ADDRESS: 64;
590
- readonly BOOL: 65;
591
- readonly FUNCTION: 66;
663
+ readonly UINT_MIN: 1;
664
+ readonly UINT_MAX: 32;
665
+ readonly INT_MIN: 33;
666
+ readonly INT_MAX: 64;
667
+ readonly ADDRESS: 65;
668
+ readonly BOOL: 66;
669
+ readonly FUNCTION: 67;
592
670
  readonly FIXED_BYTES_MIN: 80;
593
671
  readonly FIXED_BYTES_MAX: 111;
594
672
  readonly BYTES: 112;
@@ -602,42 +680,42 @@ declare const ContextProperty: CodeMap<readonly [{
602
680
  readonly key: "MSG_SENDER";
603
681
  readonly code: 0;
604
682
  readonly label: "msg.sender";
605
- readonly typeCode: 64;
683
+ readonly typeCode: 65;
606
684
  }, {
607
685
  readonly key: "MSG_VALUE";
608
686
  readonly code: 1;
609
687
  readonly label: "msg.value";
610
- readonly typeCode: 31;
688
+ readonly typeCode: 32;
611
689
  }, {
612
690
  readonly key: "BLOCK_TIMESTAMP";
613
691
  readonly code: 2;
614
692
  readonly label: "block.timestamp";
615
- readonly typeCode: 31;
693
+ readonly typeCode: 32;
616
694
  }, {
617
695
  readonly key: "BLOCK_NUMBER";
618
696
  readonly code: 3;
619
697
  readonly label: "block.number";
620
- readonly typeCode: 31;
698
+ readonly typeCode: 32;
621
699
  }, {
622
700
  readonly key: "CHAIN_ID";
623
701
  readonly code: 4;
624
702
  readonly label: "block.chainid";
625
- readonly typeCode: 31;
703
+ readonly typeCode: 32;
626
704
  }, {
627
705
  readonly key: "TX_ORIGIN";
628
706
  readonly code: 5;
629
707
  readonly label: "tx.origin";
630
- readonly typeCode: 64;
708
+ readonly typeCode: 65;
631
709
  }, {
632
710
  readonly key: "BASE_FEE";
633
711
  readonly code: 6;
634
712
  readonly label: "block.basefee";
635
- readonly typeCode: 31;
713
+ readonly typeCode: 32;
636
714
  }, {
637
715
  readonly key: "GAS_PRICE";
638
716
  readonly code: 7;
639
717
  readonly label: "tx.gasprice";
640
- readonly typeCode: 31;
718
+ readonly typeCode: 32;
641
719
  }]>;
642
720
  /** Display metadata for a context property code. */
643
721
  type ContextPropertyInfo = {
@@ -648,7 +726,7 @@ type ContextPropertyInfo = {
648
726
  /**
649
727
  * Map a context property code to its display label and ABI type code.
650
728
  * @param code - Context property ID.
651
- * @returns Display metadata including the Solidity type code for the property value.
729
+ * @returns Display metadata including the ABI type code for the property value.
652
730
  * @throws {CallciumError} If the code is not a recognised context property.
653
731
  */
654
732
  declare function lookupContextProperty(code: number): ContextPropertyInfo;
@@ -656,6 +734,7 @@ declare function lookupContextProperty(code: number): ContextPropertyInfo;
656
734
  declare const Limits: {
657
735
  readonly MAX_PATH_DEPTH: 32;
658
736
  readonly MAX_QUANTIFIED_ARRAY_LENGTH: 256;
737
+ readonly MAX_SET_MEMBERS: number;
659
738
  };
660
739
  /** Operand count category for operator data validation. */
661
740
  type Operands = "single" | "range" | "variadic";
@@ -759,23 +838,19 @@ type OpInfo = {
759
838
  declare function lookupOp(code: number): OpInfo;
760
839
  /** Reserved path step values that trigger quantified evaluation over array elements. */
761
840
  declare const Quantifier: CodeMap<readonly [{
762
- readonly key: "ALL_OR_EMPTY";
763
- readonly code: 65535;
764
- readonly label: "all or empty";
765
- }, {
766
841
  readonly key: "ALL";
767
- readonly code: 65534;
842
+ readonly code: 65535;
768
843
  readonly label: "all";
769
844
  }, {
770
845
  readonly key: "ANY";
771
- readonly code: 65533;
846
+ readonly code: 65534;
772
847
  readonly label: "any";
773
848
  }]>;
774
849
  /** Display metadata for a quantifier step. */
775
850
  type QuantifierInfo = {
776
851
  label: string;
777
852
  };
778
- /** Check whether a path step is a quantifier (ALL_OR_EMPTY, ALL, or ANY). */
853
+ /** Check whether a path step is a quantifier (ALL or ANY). */
779
854
  declare function isQuantifier(step: number): boolean;
780
855
  /**
781
856
  * Map a quantifier path step to its display label.
@@ -786,7 +861,7 @@ declare function isQuantifier(step: number): boolean;
786
861
  declare function lookupQuantifier(code: number): QuantifierInfo;
787
862
  /** Structural category for a descriptor type code. */
788
863
  type TypeClass = "elementary" | "tuple" | "staticArray" | "dynamicArray";
789
- /** Structural classification without label — used by the decoder hot path. */
864
+ /** Structural classification without label. */
790
865
  type TypeClassInfo = {
791
866
  typeClass: TypeClass;
792
867
  isDynamic: boolean;
@@ -796,7 +871,7 @@ type TypeCodeInfo = TypeClassInfo & {
796
871
  label: string;
797
872
  };
798
873
  /**
799
- * Map a raw type code byte to its Solidity label, structural category, and dynamism.
874
+ * Map a raw type code byte to its ABI type label, structural category, and dynamism.
800
875
  * @param code - A single-byte descriptor type code.
801
876
  * @returns Label, type class, and whether the type is ABI-dynamic.
802
877
  * @throws {CallciumError} If the code is not a recognised type code.
@@ -808,8 +883,13 @@ declare function lookupTypeCode(code: number): TypeCodeInfo;
808
883
  declare function isLengthOp(opCode: number): boolean;
809
884
  //#endregion
810
885
  //#region src/errors.d.ts
811
- /** Machine-readable error code for structural decoding and validation failures. */
812
- type CallciumErrorCode = "UNSUPPORTED_VERSION" | "MALFORMED_HEADER" | "UNEXPECTED_END" | "NODE_OVERFLOW" | "NESTING_TOO_DEEP" | "UNKNOWN_TYPE_CODE" | "INVALID_OPERATOR" | "UNSORTED_IN_SET" | "INVALID_ARRAY_LENGTH" | "INVALID_TUPLE_FIELD_COUNT" | "PARAM_COUNT_MISMATCH" | "EMPTY_POLICY" | "EMPTY_GROUP" | "EMPTY_PATH" | "INVALID_CONTEXT_PATH" | "INVALID_CONTEXT_PROPERTY" | "INVALID_QUANTIFIER" | "INVALID_SCOPE" | "RULE_SIZE_MISMATCH" | "GROUP_SIZE_MISMATCH" | "GROUP_OVERFLOW" | "RULE_OVERFLOW" | "TRAILING_BYTES" | "INTERNAL_ERROR" | "INVALID_SIGNATURE" | "INVALID_TYPE_STRING" | "UNKNOWN_TYPE" | "DESCRIPTOR_TOO_LARGE" | "INVALID_PATH" | "NOT_SCALAR" | "PATH_TOO_DEEP" | "DUPLICATE_PATH" | "INVALID_CONSTRAINT" | "INVALID_OPERATOR_DATA" | "EMPTY_SET" | "SET_TOO_LARGE" | "INVALID_RANGE" | "GROUP_COUNT_OVERFLOW" | "RULE_COUNT_OVERFLOW" | "RULE_SIZE_OVERFLOW" | "DESC_LENGTH_OVERFLOW" | "INVALID_HEX" | "VALIDATION_ERROR";
886
+ /**
887
+ * Machine-readable error code for structural decoding and validation failures.
888
+ *
889
+ * Each code names one invariant and matches the Solidity error raised for the same
890
+ * invariant, transliterated from `PascalCase` to `SCREAMING_SNAKE_CASE`.
891
+ */
892
+ type CallciumErrorCode = "UNSUPPORTED_VERSION" | "MALFORMED_HEADER" | "UNEXPECTED_END" | "TRAILING_BYTES" | "EMPTY_POLICY" | "EMPTY_GROUP" | "GROUP_TOO_SMALL" | "GROUP_SIZE_MISMATCH" | "GROUP_OVERFLOW" | "RULE_TOO_SMALL" | "RULE_SIZE_MISMATCH" | "RULE_FIELD_OUT_OF_BOUNDS" | "RULE_OVERFLOW" | "EMPTY_PATH" | "MALFORMED_PATH" | "PATH_TOO_DEEP" | "PARAM_INDEX_OUT_OF_BOUNDS" | "TUPLE_FIELD_OUT_OF_BOUNDS" | "STATIC_ARRAY_INDEX_OUT_OF_BOUNDS" | "NOT_COMPOSITE" | "UNCOMPILABLE_PATH" | "QUANTIFIER_ON_NON_ARRAY" | "NESTED_QUANTIFIER" | "INVALID_SCOPE" | "INVALID_CONTEXT_PATH" | "UNKNOWN_CONTEXT_PROPERTY" | "UNKNOWN_OPERATOR" | "INVALID_OPERATOR_BYTES" | "OPERATOR_TARGET_MISMATCH" | "UNSORTED_IN_SET" | "MALFORMED_HINT" | "NO_CONSTRAINT_OPERATORS" | "DUPLICATE_PATH_IN_GROUP" | "EMPTY_SET" | "SET_TOO_LARGE" | "INVALID_RANGE" | "UNKNOWN_TYPE_CODE" | "NODE_LENGTH_TOO_SMALL" | "NODE_LENGTH_TOO_LARGE" | "NODE_OVERFLOW" | "NESTING_TOO_DEEP" | "INVALID_ARRAY_LENGTH" | "INVALID_TUPLE_FIELD_COUNT" | "STATIC_WORDS_TOO_LARGE" | "PARAM_COUNT_MISMATCH" | "TOO_MANY_PARAMS" | "MALFORMED_TYPE_STRING" | "UNKNOWN_TYPE" | "MALFORMED_SIGNATURE" | "SIGNATURE_CONTAINS_WHITESPACE" | "INVALID_FUNCTION_NAME" | "GROUP_COUNT_OVERFLOW" | "RULE_COUNT_OVERFLOW" | "RULE_SIZE_OVERFLOW" | "DESC_LENGTH_OVERFLOW" | "UNKNOWN_QUANTIFIER" | "INVALID_HEX" | "VALIDATION_ERROR";
813
893
  /**
814
894
  * Thrown when a policy or descriptor blob is structurally malformed.
815
895
  * The optional `offset` indicates the byte position in the source blob where the error was detected.
@@ -820,10 +900,20 @@ declare class CallciumError extends Error {
820
900
  readonly offset?: number;
821
901
  constructor(code: CallciumErrorCode, message: string, offset?: number);
822
902
  }
903
+ /**
904
+ * Thrown by `PolicyBuilder.build` when validation reports any issue.
905
+ *
906
+ * Carries every issue the validator found. The `Error.message` is the first issue's
907
+ * message — a diagnostic summary, not a presentation contract. Consumers rendering
908
+ * issues to users should iterate `issues` directly.
909
+ */
910
+ declare class ValidationError extends CallciumError {
911
+ readonly issues: Issue[];
912
+ constructor(issues: Issue[]);
913
+ }
823
914
  /**
824
915
  * Thrown by `PolicyEnforcer.enforce` when calldata fails policy enforcement.
825
- * Distinct from `CallciumError("VALIDATION_ERROR")`, which signals static
826
- * issues in the policy itself.
916
+ * Distinct from `ValidationError`, which signals static issues in the policy itself.
827
917
  *
828
918
  * Carries the full list of structured violations (one per failed group). The
829
919
  * `Error.message` is a minimal non-lossy diagnostic summary built from the
@@ -835,5 +925,5 @@ declare class PolicyViolationError extends Error {
835
925
  constructor(violations: Violation[]);
836
926
  }
837
927
  //#endregion
838
- export { type Address, CallciumError, type CallciumErrorCode, type CalldataNavigationViolation, type Constraint, type ConstraintBuilder, type Context, ContextProperty, type ContextPropertyInfo, type DecodedGroup, type DecodedParam, type DecodedPolicy, type DecodedRule, Descriptor, DescriptorCoder, type EnforceResult, type Field, type Hex, type Issue, type IssueCategory, type IssueSeverity, Limits, type MissingContextViolation, type MissingSelectorViolation, type NavigationViolationCode, Op, type OpInfo, type Operands, PolicyBuilder, PolicyCoder, type PolicyData, PolicyEnforcer, PolicyValidator, PolicyViolationError, Quantifier, type QuantifierEmptyArrayViolation, type QuantifierInfo, type QuantifierLimitExceededViolation, type ScalarValue, Scope, type ScopeInfo, type SelectorMismatchViolation, type Span, type TypeClass, type TypeClassInfo, TypeCode, type TypeCodeInfo, type TypeInfo, type ValueMismatchViolation, type Violation, type ViolationCode, arg, baseFee, blockNumber, blockTimestamp, bytesToHex, chainId, gasPrice, hexToBytes, isLengthOp, isOpAllowed, isQuantifier, lookupContextProperty, lookupOp, lookupQuantifier, lookupScope, lookupTypeCode, msgSender, msgValue, parsePathSteps, toAddress, txOrigin };
928
+ export { type Address, CallciumError, type CallciumErrorCode, type CalldataNavigationViolation, type Constraint, type ConstraintBuilder, type Context, ContextProperty, type ContextPropertyInfo, type DecodedGroup, type DecodedParam, type DecodedPolicy, type DecodedRule, Descriptor, DescriptorCoder, type EnforceResult, type Field, type Hex, type Issue, type IssueCategory, type IssueSeverity, Limits, type MissingContextViolation, type MissingSelectorViolation, type NavigationViolationCode, type NonCanonicalValueViolation, Op, type OpInfo, type Operands, PolicyBuilder, PolicyCoder, type PolicyData, PolicyEnforcer, PolicyFormat, PolicyValidator, PolicyViolationError, Quantifier, type QuantifierEmptyArrayViolation, type QuantifierInfo, type QuantifierLimitExceededViolation, type ScalarValue, Scope, type ScopeInfo, type SelectorMismatchViolation, type Span, type TypeClass, type TypeClassInfo, TypeCode, type TypeCodeInfo, type TypeInfo, ValidationError, type ValueMismatchViolation, type Violation, type ViolationCode, arg, baseFee, blockNumber, blockTimestamp, bytesToHex, chainId, gasPrice, hexToBytes, isLengthOp, isOpAllowed, isQuantifier, lookupContextProperty, lookupOp, lookupQuantifier, lookupScope, lookupTypeCode, msgSender, msgValue, parsePathSteps, toAddress, txOrigin };
839
929
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/constraint.ts","../src/policy-builder.ts","../src/policy-coder.ts","../src/descriptor.ts","../src/policy-validator.ts","../src/policy-enforcer.ts","../src/bytes.ts","../src/descriptor-coder.ts","../src/constants.ts","../src/operators.ts","../src/errors.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/constraint.ts","../src/policy-builder.ts","../src/policy-coder.ts","../src/descriptor.ts","../src/policy-validator.ts","../src/policy-enforcer.ts","../src/bytes.ts","../src/descriptor-coder.ts","../src/constants.ts","../src/operators.ts","../src/errors.ts"],"mappings":"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"}