@engramx/idl 0.16.0-rc.13 → 0.16.0-rc.14
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/engram.did +204 -104
- package/dist/engram.idl.d.ts +186 -102
- package/dist/engram.idl.js +113 -84
- package/dist/market.did +45 -20
- package/dist/market.idl.d.ts +39 -20
- package/dist/market.idl.js +36 -23
- package/dist/registry.did +48 -19
- package/dist/registry.idl.d.ts +43 -20
- package/dist/registry.idl.js +35 -22
- package/package.json +1 -1
package/dist/registry.did
CHANGED
|
@@ -24,6 +24,12 @@ type StandingLeaf =
|
|
|
24
24
|
root: principal;
|
|
25
25
|
version: nat;
|
|
26
26
|
};
|
|
27
|
+
type SealedEntry =
|
|
28
|
+
record {
|
|
29
|
+
digest: blob;
|
|
30
|
+
entryHash: blob;
|
|
31
|
+
id: nat;
|
|
32
|
+
};
|
|
27
33
|
type RowEnding =
|
|
28
34
|
record {
|
|
29
35
|
day: int;
|
|
@@ -89,16 +95,21 @@ type Result_3 =
|
|
|
89
95
|
Err: Error;
|
|
90
96
|
Ok: MeterReading;
|
|
91
97
|
};
|
|
92
|
-
type
|
|
98
|
+
type Result_22 =
|
|
93
99
|
variant {
|
|
94
100
|
Err: Error;
|
|
95
101
|
Ok: FleetCycleHealth;
|
|
96
102
|
};
|
|
97
|
-
type
|
|
103
|
+
type Result_21 =
|
|
98
104
|
variant {
|
|
99
105
|
Err: Error;
|
|
100
106
|
Ok: CertifiedStanding;
|
|
101
107
|
};
|
|
108
|
+
type Result_20 =
|
|
109
|
+
variant {
|
|
110
|
+
Err: Error;
|
|
111
|
+
Ok: OpenedThrough;
|
|
112
|
+
};
|
|
102
113
|
type Result_2 =
|
|
103
114
|
variant {
|
|
104
115
|
Err: Error;
|
|
@@ -107,37 +118,37 @@ type Result_2 =
|
|
|
107
118
|
type Result_19 =
|
|
108
119
|
variant {
|
|
109
120
|
Err: Error;
|
|
110
|
-
Ok:
|
|
121
|
+
Ok: blob;
|
|
111
122
|
};
|
|
112
123
|
type Result_18 =
|
|
113
124
|
variant {
|
|
114
125
|
Err: Error;
|
|
115
|
-
Ok:
|
|
126
|
+
Ok: PrivateMetrics;
|
|
116
127
|
};
|
|
117
128
|
type Result_17 =
|
|
118
129
|
variant {
|
|
119
130
|
Err: Error;
|
|
120
|
-
Ok:
|
|
131
|
+
Ok: OpeningCounts;
|
|
121
132
|
};
|
|
122
133
|
type Result_16 =
|
|
123
134
|
variant {
|
|
124
135
|
Err: Error;
|
|
125
|
-
Ok:
|
|
136
|
+
Ok: ReferralCounts;
|
|
126
137
|
};
|
|
127
138
|
type Result_15 =
|
|
128
139
|
variant {
|
|
129
140
|
Err: Error;
|
|
130
|
-
Ok:
|
|
141
|
+
Ok: opt text;
|
|
131
142
|
};
|
|
132
143
|
type Result_14 =
|
|
133
144
|
variant {
|
|
134
145
|
Err: Error;
|
|
135
|
-
Ok:
|
|
146
|
+
Ok: Page_6;
|
|
136
147
|
};
|
|
137
148
|
type Result_13 =
|
|
138
149
|
variant {
|
|
139
150
|
Err: Error;
|
|
140
|
-
Ok:
|
|
151
|
+
Ok: RecordPage;
|
|
141
152
|
};
|
|
142
153
|
type Result_12 =
|
|
143
154
|
variant {
|
|
@@ -184,6 +195,14 @@ type ReferralCounts =
|
|
|
184
195
|
openedThroughParentLive: nat;
|
|
185
196
|
throughParent: PairedSoon;
|
|
186
197
|
};
|
|
198
|
+
type RecordPage =
|
|
199
|
+
record {
|
|
200
|
+
hashFirstFrom: nat;
|
|
201
|
+
items: vec AuditEntry;
|
|
202
|
+
ringFloor: nat;
|
|
203
|
+
sealed: vec SealedEntry;
|
|
204
|
+
total: nat;
|
|
205
|
+
};
|
|
187
206
|
type PrivateMetrics =
|
|
188
207
|
record {
|
|
189
208
|
activeEngrams: nat;
|
|
@@ -597,7 +616,7 @@ service : {
|
|
|
597
616
|
/// this one is a noun. That gate now reads the census's L7 citations as a second population for
|
|
598
617
|
/// exactly this blind spot.⟩
|
|
599
618
|
fleetCycleHealth: (offset: nat, limit: nat, thresholdCycles: nat) ->
|
|
600
|
-
(
|
|
619
|
+
(Result_22);
|
|
601
620
|
/// PUBLIC: ⟨0.16.0, L2.4⟩ `fleetSummary` — the ONE public projection of this registry,
|
|
602
621
|
/// replacing `status()` and ABSORBING `publicMetrics()`.
|
|
603
622
|
///
|
|
@@ -701,7 +720,7 @@ service : {
|
|
|
701
720
|
/// is the agent's ROOT principal — the identity an owner sees as `root` on each key in their own
|
|
702
721
|
/// `listAgents`. "The agent itself" is a caller holding that root key. A key for one engram has no
|
|
703
722
|
/// record of its own here; asking about one gets the refusal or, from the key itself, `#NotFound`.
|
|
704
|
-
getAgentStanding: (agent: principal) -> (
|
|
723
|
+
getAgentStanding: (agent: principal) -> (Result_21) query;
|
|
705
724
|
/// Fleet-wide anchoring liveness. Exists because ABSENCE is otherwise uninformative: an engram
|
|
706
725
|
/// that never wrote, one still on a template without the push, and one whose push is broken all
|
|
707
726
|
/// render as an empty getAnchors. Nothing distinguishes the first from the third, so a silently
|
|
@@ -817,7 +836,7 @@ service : {
|
|
|
817
836
|
/// same words whether or not the key opened anything, so the refusal tells a stranger nothing.
|
|
818
837
|
/// `#NotFound` only to a permitted reader, for a key that opened nothing: a true answer, like
|
|
819
838
|
/// `listMyAgentDisputes`'s empty list.
|
|
820
|
-
getEngramOpenedThrough: (key: principal) -> (
|
|
839
|
+
getEngramOpenedThrough: (key: principal) -> (Result_20) query;
|
|
821
840
|
/// The i-th 1 MiB slice of the attested engram wasm (0-indexed). The caller reassembles all
|
|
822
841
|
/// chunks in order and MUST verify sha256(reassembled) == getEngramWasmHash before installing —
|
|
823
842
|
/// the hash is the attestation; the bytes are a convenience. Out-of-range index → empty blob.
|
|
@@ -828,7 +847,7 @@ service : {
|
|
|
828
847
|
/// its hash. A reassembler that reads `""` as end-of-stream cannot tell a finished download from
|
|
829
848
|
/// a truncated one, so it would hash a partial wasm and report a mismatch against the official
|
|
830
849
|
/// list, which reads as "this template is unofficial" rather than "I stopped reading too early".
|
|
831
|
-
getEngramWasmChunk: (index: nat) -> (
|
|
850
|
+
getEngramWasmChunk: (index: nat) -> (Result_19) query;
|
|
832
851
|
/// The stored template's release class — FREE and UNGATED, because it is the checkable half of a
|
|
833
852
|
/// promise made to people who are not our customers. Pair it with getRentStatus to verify the
|
|
834
853
|
/// funding rule was applied: #Security funds every reachable engram; #Feature funds metered ones.
|
|
@@ -859,7 +878,7 @@ service : {
|
|
|
859
878
|
/// So L7's "the denial-logging motive for update-for-read is retired by L1" does not hold at this
|
|
860
879
|
/// site. L1 retired the motive of trapping-to-refuse; it did not give queries the ability to
|
|
861
880
|
/// write, which is the thing this actually depends on.
|
|
862
|
-
getFleetMetrics: () -> (
|
|
881
|
+
getFleetMetrics: () -> (Result_18);
|
|
863
882
|
/// PUBLIC: a genesis note that only privileged callers could read would defeat its purpose —
|
|
864
883
|
/// the reader who most needs it is the stranger deciding whether to trust this chain.
|
|
865
884
|
getGenesisNote: () -> (GenesisNote) query;
|
|
@@ -922,7 +941,7 @@ service : {
|
|
|
922
941
|
/// grant). Anyone else is REFUSED by name with their class — never a zero, which would read as
|
|
923
942
|
/// "nothing was ever opened". A QUERY: counts only, and cheap; its refusal is not in the denial
|
|
924
943
|
/// log (`denied` says why a query cannot write).
|
|
925
|
-
getOpeningCounts: () -> (
|
|
944
|
+
getOpeningCounts: () -> (Result_17) query;
|
|
926
945
|
/// ⟨2026-10-02⟩ How far agents reach across owners — COUNTS ONLY: agents by how many trees their
|
|
927
946
|
/// record spans (1 · 2 · 3–4 · 5+), engrams opened through a parent that are live or cut off, and
|
|
928
947
|
/// engrams that paired an agent within seven days of opening. No principal, no row, no per-agent
|
|
@@ -934,7 +953,7 @@ service : {
|
|
|
934
953
|
/// CALLERS: the admin and the audit viewers (the deployment's metrics reader holds a viewer grant),
|
|
935
954
|
/// weekly. Anyone else is REFUSED by name with their class — never zeros. A QUERY: its cost grows
|
|
936
955
|
/// with the agents and engrams it walks (one pass over each), so a reader asks weekly, not hourly.
|
|
937
|
-
getReferralCounts: (exclude: vec principal) -> (
|
|
956
|
+
getReferralCounts: (exclude: vec principal) -> (Result_16) query;
|
|
938
957
|
/// PUBLIC: the biller identity is an operational fact a
|
|
939
958
|
/// payer's cashier must verify BEFORE taking money (paying into a cashier the registry does not
|
|
940
959
|
/// recognize as biller would collect funds it cannot convert into credit).
|
|
@@ -1015,7 +1034,7 @@ service : {
|
|
|
1015
1034
|
/// `?Text` had to carry both "you may not ask" and "this engram was never funded for an upgrade"
|
|
1016
1035
|
/// — and the second is a claim about OUR OWN SPEND, not an absence of one. `#Ok(null)` now means
|
|
1017
1036
|
/// never funded, `#Err(#Refused)` means not your business, and no caller has to guess which.
|
|
1018
|
-
getUpgradeFundedTemplate: (canisterId: principal) -> (
|
|
1037
|
+
getUpgradeFundedTemplate: (canisterId: principal) -> (Result_15) query;
|
|
1019
1038
|
/// Cumulative cycles the registry has granted to engrams for upgrades — the meter on the
|
|
1020
1039
|
/// never-gated pull path.
|
|
1021
1040
|
///
|
|
@@ -1095,7 +1114,7 @@ service : {
|
|
|
1095
1114
|
/// while keeping the evidence that two of them disagree — the fabricate-on-refusal shape aimed at
|
|
1096
1115
|
/// the one reader the anchors exist for.
|
|
1097
1116
|
listAnchorConflicts: (canisterId: principal, start: nat, limit: nat) ->
|
|
1098
|
-
(
|
|
1117
|
+
(Result_14) query;
|
|
1099
1118
|
/// Witnessed heads for an engram, oldest-first. PUBLIC and ungated — an anchor a stranger cannot
|
|
1100
1119
|
/// read is not an anchor (ratified: "recorded where counterparties can check them").
|
|
1101
1120
|
///
|
|
@@ -1148,7 +1167,17 @@ service : {
|
|
|
1148
1167
|
///
|
|
1149
1168
|
/// The inline record dies for a `Page`: `earliestId` was redundant with the ring's own paging,
|
|
1150
1169
|
/// and `size`/`headHash` are `getAuditHead`'s answer, published free to everyone.
|
|
1151
|
-
|
|
1170
|
+
///
|
|
1171
|
+
/// ⟨2026-10-15, the owner's ruling 6B of 2026-10-14⟩ The reply is the shared `Wire.RecordPage`,
|
|
1172
|
+
/// the shape every chain canister's record read now serves, so one checker reads all of them. A
|
|
1173
|
+
/// viewer sees every entry, so `sealed` is always empty here; what the page adds is `ringFloor`
|
|
1174
|
+
/// (where the ring starts — a `start` below it begins at it) and `hashFirstFrom` (where this
|
|
1175
|
+
/// record switched to the hash-first rule: entries below it were hashed SHA-256(prev ‖ body)).
|
|
1176
|
+
/// `total` is now the head counter, as everywhere else — it was the size of the 1,000-entry window
|
|
1177
|
+
/// this read sliced, which is not a number about the record. The gate is unchanged: hash-only rows
|
|
1178
|
+
/// for strangers were ruled for the engram's record, and the status console decides a signed-in
|
|
1179
|
+
/// visitor's tier by whether this read refuses.
|
|
1180
|
+
listAuditEntries: (start: nat, limit: nat) -> (Result_13) query;
|
|
1152
1181
|
/// ⟨0.16.0, L2.2⟩ RENAMED from `getMetricsViewers` — the viewer triple unifies on "audit viewer"
|
|
1153
1182
|
/// across every canister, because a roster that grants audit reads should not be named after
|
|
1154
1183
|
/// metrics on one canister and audit on another.
|
package/dist/registry.idl.d.ts
CHANGED
|
@@ -256,6 +256,13 @@ export interface PrivateMetrics {
|
|
|
256
256
|
totalEngrams: bigint;
|
|
257
257
|
activeEngrams: bigint;
|
|
258
258
|
}
|
|
259
|
+
export interface RecordPage {
|
|
260
|
+
ringFloor: bigint;
|
|
261
|
+
total: bigint;
|
|
262
|
+
sealed: Array<SealedEntry>;
|
|
263
|
+
items: Array<AuditEntry>;
|
|
264
|
+
hashFirstFrom: bigint;
|
|
265
|
+
}
|
|
259
266
|
export interface ReferralCounts {
|
|
260
267
|
firstOrReopened: PairedSoon;
|
|
261
268
|
openedThroughParentLive: bigint;
|
|
@@ -277,16 +284,17 @@ export type Result_1 = { Ok: Principal } | { Err: Error };
|
|
|
277
284
|
export type Result_10 = { Ok: Page_3 } | { Err: Error };
|
|
278
285
|
export type Result_11 = { Ok: Array<OpenedEngram> } | { Err: Error };
|
|
279
286
|
export type Result_12 = { Ok: Page_5 } | { Err: Error };
|
|
280
|
-
export type Result_13 = { Ok:
|
|
281
|
-
export type Result_14 = { Ok:
|
|
282
|
-
export type Result_15 = { Ok:
|
|
283
|
-
export type Result_16 = { Ok:
|
|
284
|
-
export type Result_17 = { Ok:
|
|
285
|
-
export type Result_18 = { Ok:
|
|
286
|
-
export type Result_19 = { Ok:
|
|
287
|
+
export type Result_13 = { Ok: RecordPage } | { Err: Error };
|
|
288
|
+
export type Result_14 = { Ok: Page_6 } | { Err: Error };
|
|
289
|
+
export type Result_15 = { Ok: [] | [string] } | { Err: Error };
|
|
290
|
+
export type Result_16 = { Ok: ReferralCounts } | { Err: Error };
|
|
291
|
+
export type Result_17 = { Ok: OpeningCounts } | { Err: Error };
|
|
292
|
+
export type Result_18 = { Ok: PrivateMetrics } | { Err: Error };
|
|
293
|
+
export type Result_19 = { Ok: Uint8Array | number[] } | { Err: Error };
|
|
287
294
|
export type Result_2 = { Ok: ControlStep } | { Err: Error };
|
|
288
|
-
export type Result_20 = { Ok:
|
|
289
|
-
export type Result_21 = { Ok:
|
|
295
|
+
export type Result_20 = { Ok: OpenedThrough } | { Err: Error };
|
|
296
|
+
export type Result_21 = { Ok: CertifiedStanding } | { Err: Error };
|
|
297
|
+
export type Result_22 = { Ok: FleetCycleHealth } | { Err: Error };
|
|
290
298
|
export type Result_3 = { Ok: MeterReading } | { Err: Error };
|
|
291
299
|
export type Result_4 = { Ok: bigint } | { Err: Error };
|
|
292
300
|
export type Result_5 = { Ok: CustodyMode } | { Err: Error };
|
|
@@ -315,6 +323,11 @@ export interface RowEnding {
|
|
|
315
323
|
day: bigint;
|
|
316
324
|
reason: EndReason;
|
|
317
325
|
}
|
|
326
|
+
export interface SealedEntry {
|
|
327
|
+
id: bigint;
|
|
328
|
+
entryHash: Uint8Array | number[];
|
|
329
|
+
digest: Uint8Array | number[];
|
|
330
|
+
}
|
|
318
331
|
export interface StandingLeaf {
|
|
319
332
|
disputes: bigint;
|
|
320
333
|
live: bigint;
|
|
@@ -453,7 +466,7 @@ export interface _SERVICE {
|
|
|
453
466
|
* / this one is a noun. That gate now reads the census's L7 citations as a second population for
|
|
454
467
|
* / exactly this blind spot.⟩
|
|
455
468
|
*/
|
|
456
|
-
fleetCycleHealth: ActorMethod<[bigint, bigint, bigint],
|
|
469
|
+
fleetCycleHealth: ActorMethod<[bigint, bigint, bigint], Result_22>;
|
|
457
470
|
/**
|
|
458
471
|
* / PUBLIC: ⟨0.16.0, L2.4⟩ `fleetSummary` — the ONE public projection of this registry,
|
|
459
472
|
* / replacing `status()` and ABSORBING `publicMetrics()`.
|
|
@@ -566,7 +579,7 @@ export interface _SERVICE {
|
|
|
566
579
|
* / `listAgents`. "The agent itself" is a caller holding that root key. A key for one engram has no
|
|
567
580
|
* / record of its own here; asking about one gets the refusal or, from the key itself, `#NotFound`.
|
|
568
581
|
*/
|
|
569
|
-
getAgentStanding: ActorMethod<[Principal],
|
|
582
|
+
getAgentStanding: ActorMethod<[Principal], Result_21>;
|
|
570
583
|
/**
|
|
571
584
|
* / Fleet-wide anchoring liveness. Exists because ABSENCE is otherwise uninformative: an engram
|
|
572
585
|
* / that never wrote, one still on a template without the push, and one whose push is broken all
|
|
@@ -697,7 +710,7 @@ export interface _SERVICE {
|
|
|
697
710
|
* / `#NotFound` only to a permitted reader, for a key that opened nothing: a true answer, like
|
|
698
711
|
* / `listMyAgentDisputes`'s empty list.
|
|
699
712
|
*/
|
|
700
|
-
getEngramOpenedThrough: ActorMethod<[Principal],
|
|
713
|
+
getEngramOpenedThrough: ActorMethod<[Principal], Result_20>;
|
|
701
714
|
/**
|
|
702
715
|
* / The i-th 1 MiB slice of the attested engram wasm (0-indexed). The caller reassembles all
|
|
703
716
|
* / chunks in order and MUST verify sha256(reassembled) == getEngramWasmHash before installing —
|
|
@@ -710,7 +723,7 @@ export interface _SERVICE {
|
|
|
710
723
|
* / a truncated one, so it would hash a partial wasm and report a mismatch against the official
|
|
711
724
|
* / list, which reads as "this template is unofficial" rather than "I stopped reading too early".
|
|
712
725
|
*/
|
|
713
|
-
getEngramWasmChunk: ActorMethod<[bigint],
|
|
726
|
+
getEngramWasmChunk: ActorMethod<[bigint], Result_19>;
|
|
714
727
|
/**
|
|
715
728
|
* / The stored template's release class — FREE and UNGATED, because it is the checkable half of a
|
|
716
729
|
* / promise made to people who are not our customers. Pair it with getRentStatus to verify the
|
|
@@ -749,7 +762,7 @@ export interface _SERVICE {
|
|
|
749
762
|
* / site. L1 retired the motive of trapping-to-refuse; it did not give queries the ability to
|
|
750
763
|
* / write, which is the thing this actually depends on.
|
|
751
764
|
*/
|
|
752
|
-
getFleetMetrics: ActorMethod<[],
|
|
765
|
+
getFleetMetrics: ActorMethod<[], Result_18>;
|
|
753
766
|
/**
|
|
754
767
|
* / PUBLIC: a genesis note that only privileged callers could read would defeat its purpose —
|
|
755
768
|
* / the reader who most needs it is the stranger deciding whether to trust this chain.
|
|
@@ -826,7 +839,7 @@ export interface _SERVICE {
|
|
|
826
839
|
* / "nothing was ever opened". A QUERY: counts only, and cheap; its refusal is not in the denial
|
|
827
840
|
* / log (`denied` says why a query cannot write).
|
|
828
841
|
*/
|
|
829
|
-
getOpeningCounts: ActorMethod<[],
|
|
842
|
+
getOpeningCounts: ActorMethod<[], Result_17>;
|
|
830
843
|
/**
|
|
831
844
|
* / ⟨2026-10-02⟩ How far agents reach across owners — COUNTS ONLY: agents by how many trees their
|
|
832
845
|
* / record spans (1 · 2 · 3–4 · 5+), engrams opened through a parent that are live or cut off, and
|
|
@@ -840,7 +853,7 @@ export interface _SERVICE {
|
|
|
840
853
|
* / weekly. Anyone else is REFUSED by name with their class — never zeros. A QUERY: its cost grows
|
|
841
854
|
* / with the agents and engrams it walks (one pass over each), so a reader asks weekly, not hourly.
|
|
842
855
|
*/
|
|
843
|
-
getReferralCounts: ActorMethod<[Array<Principal>],
|
|
856
|
+
getReferralCounts: ActorMethod<[Array<Principal>], Result_16>;
|
|
844
857
|
/**
|
|
845
858
|
* / PUBLIC: the biller identity is an operational fact a
|
|
846
859
|
* / payer's cashier must verify BEFORE taking money (paying into a cashier the registry does not
|
|
@@ -937,7 +950,7 @@ export interface _SERVICE {
|
|
|
937
950
|
* / — and the second is a claim about OUR OWN SPEND, not an absence of one. `#Ok(null)` now means
|
|
938
951
|
* / never funded, `#Err(#Refused)` means not your business, and no caller has to guess which.
|
|
939
952
|
*/
|
|
940
|
-
getUpgradeFundedTemplate: ActorMethod<[Principal],
|
|
953
|
+
getUpgradeFundedTemplate: ActorMethod<[Principal], Result_15>;
|
|
941
954
|
/**
|
|
942
955
|
* / Cumulative cycles the registry has granted to engrams for upgrades — the meter on the
|
|
943
956
|
* / never-gated pull path.
|
|
@@ -1029,7 +1042,7 @@ export interface _SERVICE {
|
|
|
1029
1042
|
* / while keeping the evidence that two of them disagree — the fabricate-on-refusal shape aimed at
|
|
1030
1043
|
* / the one reader the anchors exist for.
|
|
1031
1044
|
*/
|
|
1032
|
-
listAnchorConflicts: ActorMethod<[Principal, bigint, bigint],
|
|
1045
|
+
listAnchorConflicts: ActorMethod<[Principal, bigint, bigint], Result_14>;
|
|
1033
1046
|
/**
|
|
1034
1047
|
* / Witnessed heads for an engram, oldest-first. PUBLIC and ungated — an anchor a stranger cannot
|
|
1035
1048
|
* / read is not an anchor (ratified: "recorded where counterparties can check them").
|
|
@@ -1085,8 +1098,18 @@ export interface _SERVICE {
|
|
|
1085
1098
|
* /
|
|
1086
1099
|
* / The inline record dies for a `Page`: `earliestId` was redundant with the ring's own paging,
|
|
1087
1100
|
* / and `size`/`headHash` are `getAuditHead`'s answer, published free to everyone.
|
|
1088
|
-
|
|
1089
|
-
|
|
1101
|
+
* /
|
|
1102
|
+
* / ⟨2026-10-15, the owner's ruling 6B of 2026-10-14⟩ The reply is the shared `Wire.RecordPage`,
|
|
1103
|
+
* / the shape every chain canister's record read now serves, so one checker reads all of them. A
|
|
1104
|
+
* / viewer sees every entry, so `sealed` is always empty here; what the page adds is `ringFloor`
|
|
1105
|
+
* / (where the ring starts — a `start` below it begins at it) and `hashFirstFrom` (where this
|
|
1106
|
+
* / record switched to the hash-first rule: entries below it were hashed SHA-256(prev ‖ body)).
|
|
1107
|
+
* / `total` is now the head counter, as everywhere else — it was the size of the 1,000-entry window
|
|
1108
|
+
* / this read sliced, which is not a number about the record. The gate is unchanged: hash-only rows
|
|
1109
|
+
* / for strangers were ruled for the engram's record, and the status console decides a signed-in
|
|
1110
|
+
* / visitor's tier by whether this read refuses.
|
|
1111
|
+
*/
|
|
1112
|
+
listAuditEntries: ActorMethod<[bigint, bigint], Result_13>;
|
|
1090
1113
|
/**
|
|
1091
1114
|
* / ⟨0.16.0, L2.2⟩ RENAMED from `getMetricsViewers` — the viewer triple unifies on "audit viewer"
|
|
1092
1115
|
* / across every canister, because a roster that grants audit reads should not be named after
|
package/dist/registry.idl.js
CHANGED
|
@@ -21,7 +21,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
21
21
|
sovereignSkipped: IDL.Nat,
|
|
22
22
|
lowCycles: IDL.Nat,
|
|
23
23
|
});
|
|
24
|
-
const
|
|
24
|
+
const Result_22 = IDL.Variant({ Ok: FleetCycleHealth, Err: Error });
|
|
25
25
|
const FleetSummary = IDL.Record({
|
|
26
26
|
registrySinceNs: IDL.Opt(IDL.Int),
|
|
27
27
|
uniqueOwners: IDL.Nat,
|
|
@@ -69,7 +69,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
69
69
|
leaf: StandingLeaf,
|
|
70
70
|
witness: IDL.Vec(IDL.Nat8),
|
|
71
71
|
});
|
|
72
|
-
const
|
|
72
|
+
const Result_21 = IDL.Variant({ Ok: CertifiedStanding, Err: Error });
|
|
73
73
|
const AnchorStats = IDL.Record({
|
|
74
74
|
lastAnchorAtNs: IDL.Opt(IDL.Int),
|
|
75
75
|
lastEngramAnchorAtNs: IDL.Opt(IDL.Int),
|
|
@@ -115,8 +115,8 @@ export const idlFactory = ({ IDL }) => {
|
|
|
115
115
|
child: IDL.Principal,
|
|
116
116
|
parent: IDL.Principal,
|
|
117
117
|
});
|
|
118
|
-
const
|
|
119
|
-
const
|
|
118
|
+
const Result_20 = IDL.Variant({ Ok: OpenedThrough, Err: Error });
|
|
119
|
+
const Result_19 = IDL.Variant({ Ok: IDL.Vec(IDL.Nat8), Err: Error });
|
|
120
120
|
const ReleaseClass = IDL.Variant({
|
|
121
121
|
Security: IDL.Null,
|
|
122
122
|
Feature: IDL.Null,
|
|
@@ -139,7 +139,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
139
139
|
totalEngrams: IDL.Nat,
|
|
140
140
|
activeEngrams: IDL.Nat,
|
|
141
141
|
});
|
|
142
|
-
const
|
|
142
|
+
const Result_18 = IDL.Variant({ Ok: PrivateMetrics, Err: Error });
|
|
143
143
|
const GenesisNote = IDL.Record({
|
|
144
144
|
predecessorSize: IDL.Opt(IDL.Nat),
|
|
145
145
|
predecessorHeadHash: IDL.Opt(IDL.Vec(IDL.Nat8)),
|
|
@@ -174,7 +174,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
174
174
|
reservationAttemptsRefusedAtCapacity: IDL.Nat,
|
|
175
175
|
spawnAttemptsRefusedAtCap: IDL.Nat,
|
|
176
176
|
});
|
|
177
|
-
const
|
|
177
|
+
const Result_17 = IDL.Variant({ Ok: OpeningCounts, Err: Error });
|
|
178
178
|
const PairedSoon = IDL.Record({
|
|
179
179
|
opened: IDL.Nat,
|
|
180
180
|
pairedWithin7Days: IDL.Nat,
|
|
@@ -192,7 +192,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
192
192
|
throughParent: PairedSoon,
|
|
193
193
|
agentsByTreesSpanned: TreesSpanned,
|
|
194
194
|
});
|
|
195
|
-
const
|
|
195
|
+
const Result_16 = IDL.Variant({ Ok: ReferralCounts, Err: Error });
|
|
196
196
|
const ReserveGateConfig = IDL.Record({
|
|
197
197
|
enabled: IDL.Bool,
|
|
198
198
|
inviteIssuer: IDL.Principal,
|
|
@@ -202,7 +202,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
202
202
|
ManualOnly: IDL.Null,
|
|
203
203
|
AutoUpdate: IDL.Null,
|
|
204
204
|
});
|
|
205
|
-
const
|
|
205
|
+
const Result_15 = IDL.Variant({ Ok: IDL.Opt(IDL.Text), Err: Error });
|
|
206
206
|
const Page_5 = IDL.Record({
|
|
207
207
|
total: IDL.Nat,
|
|
208
208
|
withheld: IDL.Nat,
|
|
@@ -221,13 +221,18 @@ export const idlFactory = ({ IDL }) => {
|
|
|
221
221
|
withheld: IDL.Nat,
|
|
222
222
|
items: IDL.Vec(AnchorConflict),
|
|
223
223
|
});
|
|
224
|
-
const
|
|
224
|
+
const Result_14 = IDL.Variant({ Ok: Page_6, Err: Error });
|
|
225
225
|
const AnchorView = IDL.Record({
|
|
226
226
|
total: IDL.Nat,
|
|
227
227
|
disputed: IDL.Bool,
|
|
228
228
|
atNs: IDL.Int,
|
|
229
229
|
head: IDL.Vec(IDL.Nat8),
|
|
230
230
|
});
|
|
231
|
+
const SealedEntry = IDL.Record({
|
|
232
|
+
id: IDL.Nat,
|
|
233
|
+
entryHash: IDL.Vec(IDL.Nat8),
|
|
234
|
+
digest: IDL.Vec(IDL.Nat8),
|
|
235
|
+
});
|
|
231
236
|
const Role = IDL.Variant({
|
|
232
237
|
Anonymous: IDL.Null,
|
|
233
238
|
Viewer: IDL.Null,
|
|
@@ -252,12 +257,14 @@ export const idlFactory = ({ IDL }) => {
|
|
|
252
257
|
success: IDL.Bool,
|
|
253
258
|
timestampNs: IDL.Int,
|
|
254
259
|
});
|
|
255
|
-
const
|
|
260
|
+
const RecordPage = IDL.Record({
|
|
261
|
+
ringFloor: IDL.Nat,
|
|
256
262
|
total: IDL.Nat,
|
|
257
|
-
|
|
263
|
+
sealed: IDL.Vec(SealedEntry),
|
|
258
264
|
items: IDL.Vec(AuditEntry),
|
|
265
|
+
hashFirstFrom: IDL.Nat,
|
|
259
266
|
});
|
|
260
|
-
const
|
|
267
|
+
const Result_13 = IDL.Variant({ Ok: RecordPage, Err: Error });
|
|
261
268
|
const ChangelogEntry = IDL.Record({
|
|
262
269
|
atNs: IDL.Int,
|
|
263
270
|
wasmHash: IDL.Text,
|
|
@@ -278,6 +285,12 @@ export const idlFactory = ({ IDL }) => {
|
|
|
278
285
|
Ok: IDL.Vec(OpenedEngram),
|
|
279
286
|
Err: Error,
|
|
280
287
|
});
|
|
288
|
+
const Page_3 = IDL.Record({
|
|
289
|
+
total: IDL.Nat,
|
|
290
|
+
withheld: IDL.Nat,
|
|
291
|
+
items: IDL.Vec(AuditEntry),
|
|
292
|
+
});
|
|
293
|
+
const Result_10 = IDL.Variant({ Ok: Page_3, Err: Error });
|
|
281
294
|
const EndReason = IDL.Variant({
|
|
282
295
|
Resigned: IDL.Null,
|
|
283
296
|
OwnerRevoked: IDL.Null,
|
|
@@ -358,7 +371,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
358
371
|
engramWasmFinalize: IDL.Func([IDL.Text], [Result_4], []),
|
|
359
372
|
engramWasmInit: IDL.Func([], [Result], []),
|
|
360
373
|
engramWasmPushChunk: IDL.Func([IDL.Vec(IDL.Nat8)], [Result_4], []),
|
|
361
|
-
fleetCycleHealth: IDL.Func([IDL.Nat, IDL.Nat, IDL.Nat], [
|
|
374
|
+
fleetCycleHealth: IDL.Func([IDL.Nat, IDL.Nat, IDL.Nat], [Result_22], []),
|
|
362
375
|
fleetSummary: IDL.Func([], [FleetSummary], ['query']),
|
|
363
376
|
getAbandonedAtNs: IDL.Func([IDL.Principal], [IDL.Opt(IDL.Int)], ['query']),
|
|
364
377
|
getActivationFunnel: IDL.Func([], [ActivationFunnel], ['query']),
|
|
@@ -368,7 +381,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
368
381
|
[IDL.Record({ agents: IDL.Nat, liveEngagements: IDL.Nat })],
|
|
369
382
|
['query'],
|
|
370
383
|
),
|
|
371
|
-
getAgentStanding: IDL.Func([IDL.Principal], [
|
|
384
|
+
getAgentStanding: IDL.Func([IDL.Principal], [Result_21], ['query']),
|
|
372
385
|
getAnchorStats: IDL.Func([], [AnchorStats], ['query']),
|
|
373
386
|
getAuditHead: IDL.Func([], [AuditHead], ['query']),
|
|
374
387
|
getCertifiedAnchor: IDL.Func([IDL.Principal], [IDL.Opt(CertifiedAnchor)], ['query']),
|
|
@@ -385,20 +398,20 @@ export const idlFactory = ({ IDL }) => {
|
|
|
385
398
|
['query'],
|
|
386
399
|
),
|
|
387
400
|
getEngramNumberOf: IDL.Func([IDL.Principal], [IDL.Opt(IDL.Nat)], ['query']),
|
|
388
|
-
getEngramOpenedThrough: IDL.Func([IDL.Principal], [
|
|
389
|
-
getEngramWasmChunk: IDL.Func([IDL.Nat], [
|
|
401
|
+
getEngramOpenedThrough: IDL.Func([IDL.Principal], [Result_20], ['query']),
|
|
402
|
+
getEngramWasmChunk: IDL.Func([IDL.Nat], [Result_19], ['query']),
|
|
390
403
|
getEngramWasmClass: IDL.Func([], [ReleaseClass], ['query']),
|
|
391
404
|
getEngramWasmHash: IDL.Func([], [IDL.Text], ['query']),
|
|
392
405
|
getEngramWasmInfo: IDL.Func([], [EngramWasmInfo], ['query']),
|
|
393
|
-
getFleetMetrics: IDL.Func([], [
|
|
406
|
+
getFleetMetrics: IDL.Func([], [Result_18], []),
|
|
394
407
|
getGenesisNote: IDL.Func([], [GenesisNote], ['query']),
|
|
395
408
|
getLastUpgrade: IDL.Func([IDL.Principal], [IDL.Opt(LastUpgrade)], ['query']),
|
|
396
409
|
getMarketCanister: IDL.Func([], [IDL.Opt(IDL.Principal)], ['query']),
|
|
397
410
|
getMetricsReader: IDL.Func([], [IDL.Opt(IDL.Principal)], ['query']),
|
|
398
411
|
getMyEngram: IDL.Func([], [IDL.Opt(EngramRecordView)], ['query']),
|
|
399
412
|
getMyReservation: IDL.Func([], [IDL.Opt(ReservationView)], ['query']),
|
|
400
|
-
getOpeningCounts: IDL.Func([], [
|
|
401
|
-
getReferralCounts: IDL.Func([IDL.Vec(IDL.Principal)], [
|
|
413
|
+
getOpeningCounts: IDL.Func([], [Result_17], ['query']),
|
|
414
|
+
getReferralCounts: IDL.Func([IDL.Vec(IDL.Principal)], [Result_16], ['query']),
|
|
402
415
|
getRentBiller: IDL.Func([], [IDL.Opt(IDL.Principal)], ['query']),
|
|
403
416
|
getReserveGateConfig: IDL.Func([], [ReserveGateConfig], ['query']),
|
|
404
417
|
getScreeningDenylistSize: IDL.Func([], [IDL.Nat], ['query']),
|
|
@@ -406,7 +419,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
406
419
|
getSponsoredCyclesTotal: IDL.Func([], [IDL.Nat], ['query']),
|
|
407
420
|
getTreasuryAnchorId: IDL.Func([], [IDL.Opt(IDL.Principal)], ['query']),
|
|
408
421
|
getUpdatePreference: IDL.Func([], [IDL.Opt(UpdatePreference)], ['query']),
|
|
409
|
-
getUpgradeFundedTemplate: IDL.Func([IDL.Principal], [
|
|
422
|
+
getUpgradeFundedTemplate: IDL.Func([IDL.Principal], [Result_15], ['query']),
|
|
410
423
|
getUpgradeSubsidyTotal: IDL.Func([], [IDL.Nat], ['query']),
|
|
411
424
|
getUpgradeTopUpFloor: IDL.Func([], [IDL.Nat], ['query']),
|
|
412
425
|
icrc21_canister_call_consent_message: IDL.Func(
|
|
@@ -439,9 +452,9 @@ export const idlFactory = ({ IDL }) => {
|
|
|
439
452
|
isOfficialEngramWasm: IDL.Func([IDL.Text], [IDL.Bool], ['query']),
|
|
440
453
|
isRegisteredActiveEngram: IDL.Func([IDL.Principal], [IDL.Bool], ['query']),
|
|
441
454
|
listAgentEngrams: IDL.Func([IDL.Principal], [Result_12], ['query']),
|
|
442
|
-
listAnchorConflicts: IDL.Func([IDL.Principal, IDL.Nat, IDL.Nat], [
|
|
455
|
+
listAnchorConflicts: IDL.Func([IDL.Principal, IDL.Nat, IDL.Nat], [Result_14], ['query']),
|
|
443
456
|
listAnchors: IDL.Func([IDL.Principal], [IDL.Vec(AnchorView)], ['query']),
|
|
444
|
-
listAuditEntries: IDL.Func([IDL.Nat, IDL.Nat], [
|
|
457
|
+
listAuditEntries: IDL.Func([IDL.Nat, IDL.Nat], [Result_13], ['query']),
|
|
445
458
|
listAuditViewers: IDL.Func([], [Result_12], ['query']),
|
|
446
459
|
listChangelogEntries: IDL.Func([IDL.Nat, IDL.Nat], [Page_4], ['query']),
|
|
447
460
|
listChildrenOf: IDL.Func([IDL.Principal], [Result_11], ['query']),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@engramx/idl",
|
|
3
|
-
"version": "0.16.0-rc.
|
|
3
|
+
"version": "0.16.0-rc.14",
|
|
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>",
|