@engramx/idl 0.16.0-rc.8 → 0.16.0-rc.9

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/registry.did CHANGED
@@ -469,9 +469,11 @@ type AnchorView =
469
469
  };
470
470
  type AnchorStats =
471
471
  record {
472
+ engramChainsAnchored: opt nat;
472
473
  engramsAnchored: nat;
473
474
  engramsWithConflicts: nat;
474
475
  lastAnchorAtNs: opt int;
476
+ lastEngramAnchorAtNs: opt int;
475
477
  totalAnchors: nat;
476
478
  };
477
479
  type AnchorConflict =
@@ -709,6 +711,12 @@ service : {
709
711
  /// alive SOMEWHERE, which is what makes an individual engram's silence interpretable.
710
712
  ///
711
713
  /// PUBLIC: the same reader who needs the anchors needs to know whether to believe their absence.
714
+ ///
715
+ /// ⟨2026-10-11⟩ The ring also holds the TREASURY ANCHORER's chain (`getTreasuryAnchorId`), and
716
+ /// `engramsAnchored`, `totalAnchors` and `lastAnchorAtNs` count it as one more chain. The
717
+ /// engram-only pair leaves it out: `engramChainsAnchored` (always present on a registry that
718
+ /// serves it, 0 when no engram has anchored) and `lastEngramAnchorAtNs`. Read those to ask
719
+ /// whether ENGRAMS are anchoring — an active money chain must not stand in for them.
712
720
  getAnchorStats: () -> (AnchorStats) query;
713
721
  /// PUBLIC: the chain head exists to be compared, so an external monitor can detect tampering
714
722
  /// without admin access (D3). A head only whoever runs this deployment can read witnesses nothing.
@@ -22,8 +22,10 @@ export interface AnchorConflict {
22
22
  }
23
23
  export interface AnchorStats {
24
24
  lastAnchorAtNs: [] | [bigint];
25
+ lastEngramAnchorAtNs: [] | [bigint];
25
26
  engramsAnchored: bigint;
26
27
  totalAnchors: bigint;
28
+ engramChainsAnchored: [] | [bigint];
27
29
  engramsWithConflicts: bigint;
28
30
  }
29
31
  export interface AnchorView {
@@ -575,6 +577,12 @@ export interface _SERVICE {
575
577
  * / alive SOMEWHERE, which is what makes an individual engram's silence interpretable.
576
578
  * /
577
579
  * / PUBLIC: the same reader who needs the anchors needs to know whether to believe their absence.
580
+ * /
581
+ * / ⟨2026-10-11⟩ The ring also holds the TREASURY ANCHORER's chain (`getTreasuryAnchorId`), and
582
+ * / `engramsAnchored`, `totalAnchors` and `lastAnchorAtNs` count it as one more chain. The
583
+ * / engram-only pair leaves it out: `engramChainsAnchored` (always present on a registry that
584
+ * / serves it, 0 when no engram has anchored) and `lastEngramAnchorAtNs`. Read those to ask
585
+ * / whether ENGRAMS are anchoring — an active money chain must not stand in for them.
578
586
  */
579
587
  getAnchorStats: ActorMethod<[], AnchorStats>;
580
588
  /**
@@ -72,8 +72,10 @@ export const idlFactory = ({ IDL }) => {
72
72
  const Result_20 = IDL.Variant({ Ok: CertifiedStanding, Err: Error });
73
73
  const AnchorStats = IDL.Record({
74
74
  lastAnchorAtNs: IDL.Opt(IDL.Int),
75
+ lastEngramAnchorAtNs: IDL.Opt(IDL.Int),
75
76
  engramsAnchored: IDL.Nat,
76
77
  totalAnchors: IDL.Nat,
78
+ engramChainsAnchored: IDL.Opt(IDL.Nat),
77
79
  engramsWithConflicts: IDL.Nat,
78
80
  });
79
81
  const AuditHead = IDL.Record({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@engramx/idl",
3
- "version": "0.16.0-rc.8",
3
+ "version": "0.16.0-rc.9",
4
4
  "description": "The Candid interfaces of the EngramX canisters (engram, registry, market) — the .did files and the JS/TS IDL factories generated from them, published with every release so code that calls them pins the interface by version.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "EngramX <developer@engramx.ai>",