@engramx/idl 0.16.0-rc.2 → 0.16.0-rc.21

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.
@@ -79,6 +79,10 @@ export type Error =
79
79
  | { Other: string }
80
80
  | { Unavailable: string }
81
81
  | { Conflict: string };
82
+ export interface EscrowRecovery {
83
+ blockIndex: bigint;
84
+ amount: TokenAmount;
85
+ }
82
86
  export interface GenesisNote {
83
87
  predecessorSize: [] | [bigint];
84
88
  predecessorHeadHash: [] | [Uint8Array | number[]];
@@ -240,25 +244,34 @@ export interface QuotedRequirement {
240
244
  tokenName: [] | [string];
241
245
  amount: bigint;
242
246
  }
247
+ export interface RecordPage {
248
+ ringFloor: bigint;
249
+ total: bigint;
250
+ sealed: Array<SealedEntry>;
251
+ items: Array<AuditEntry>;
252
+ hashFirstFrom: bigint;
253
+ }
243
254
  export type Result = { Ok: bigint } | { Err: Error };
244
255
  export type Result_1 = { Ok: null } | { Err: Error };
245
- export type Result_10 = { Ok: SellerStatus } | { Err: Error };
246
- export type Result_11 = { Ok: RevenueSummary } | { Err: Error };
247
- export type Result_12 = { Ok: JobStatus } | { Err: Error };
248
- export type Result_13 = { Ok: Uint8Array | number[] } | { Err: Error };
249
- export type Result_14 = { Ok: Job } | { Err: Error };
250
- export type Result_15 = { Ok: [] | [string] } | { Err: Error };
251
- export type Result_16 = { Ok: ContentResponse } | { Err: Error };
252
- export type Result_17 = { Ok: ServiceRequestResponse } | { Err: Error };
253
- export type Result_18 = { Ok: X402Endpoint } | { Err: Error };
256
+ export type Result_10 = { Ok: Page_7 } | { Err: Error };
257
+ export type Result_11 = { Ok: RecordPage } | { Err: Error };
258
+ export type Result_12 = { Ok: SellerStatus } | { Err: Error };
259
+ export type Result_13 = { Ok: RevenueSummary } | { Err: Error };
260
+ export type Result_14 = { Ok: JobStatus } | { Err: Error };
261
+ export type Result_15 = { Ok: Uint8Array | number[] } | { Err: Error };
262
+ export type Result_16 = { Ok: Job } | { Err: Error };
263
+ export type Result_17 = { Ok: [] | [string] } | { Err: Error };
264
+ export type Result_18 = { Ok: ContentResponse } | { Err: Error };
265
+ export type Result_19 = { Ok: ServiceRequestResponse } | { Err: Error };
254
266
  export type Result_2 = { Ok: string } | { Err: Error };
255
- export type Result_3 = { Ok: PaymentQuote } | { Err: Error };
256
- export type Result_4 = { Ok: SessionState } | { Err: Error };
257
- export type Result_5 = { Ok: Page_1 } | { Err: Error };
258
- export type Result_6 = { Ok: Page_2 } | { Err: Error };
259
- export type Result_7 = { Ok: Page_4 } | { Err: Error };
260
- export type Result_8 = { Ok: Page_5 } | { Err: Error };
261
- export type Result_9 = { Ok: Page_7 } | { Err: Error };
267
+ export type Result_20 = { Ok: X402Endpoint } | { Err: Error };
268
+ export type Result_3 = { Ok: EscrowRecovery } | { Err: Error };
269
+ export type Result_4 = { Ok: PaymentQuote } | { Err: Error };
270
+ export type Result_5 = { Ok: SessionState } | { Err: Error };
271
+ export type Result_6 = { Ok: Page_1 } | { Err: Error };
272
+ export type Result_7 = { Ok: Page_2 } | { Err: Error };
273
+ export type Result_8 = { Ok: Page_4 } | { Err: Error };
274
+ export type Result_9 = { Ok: Page_5 } | { Err: Error };
262
275
  export interface RevenueSummary {
263
276
  serviceJobsSettled: bigint;
264
277
  owedToYou: bigint;
@@ -290,6 +303,11 @@ export interface RoleGrant {
290
303
  role: { Root: null } | { WasmAdmin: null } | { Admin: null } | { Other: string };
291
304
  holder: Principal;
292
305
  }
306
+ export interface SealedEntry {
307
+ id: bigint;
308
+ entryHash: Uint8Array | number[];
309
+ digest: Uint8Array | number[];
310
+ }
293
311
  export interface SellerStatus {
294
312
  expiresAtNs: bigint;
295
313
  verifiedAtNs: bigint;
@@ -324,6 +342,7 @@ export interface SessionCounts {
324
342
  total: bigint;
325
343
  expired: bigint;
326
344
  open: bigint;
345
+ refundOwed: [] | [bigint];
327
346
  closing: bigint;
328
347
  }
329
348
  export interface SessionIntent {
@@ -438,6 +457,9 @@ export interface _SERVICE {
438
457
  * / is RATIFIED as the 0.16.0 contract (the owner's ruling of 2026-10-02, the pre-cut
439
458
  * / recommendation); giving the library one arm per kind of refusal is post-cut dependency work,
440
459
  * / not a change made mid-cut.
460
+ * / ⟨2026-10-07, beside the count above⟩ Twelve: the admin's `retrySellerPayment` (the owner's
461
+ * / decision of that day) passes the library's settle refusal through as `#Conflict` too — state
462
+ * / behind this canister's own gate, like the other six.
441
463
  * /
442
464
  * / It also refuses while TRADE IS FROZEN, and that one is a true `#Conflict` — the refusal says
443
465
  * / so explicitly ("Not a permission problem and not a missing job"), and `isTradeFrozen()` is the
@@ -475,7 +497,7 @@ export interface _SERVICE {
475
497
  * / Born disabled deliberately: a listing that went live at creation would be sellable before its
476
498
  * / price was set, and `price` starts at 0 with `suggestedPrice` as the fallback.
477
499
  */
478
- createEndpoint: ActorMethod<[string, string, string, bigint], Result_18>;
500
+ createEndpoint: ActorMethod<[string, string, string, bigint], Result_20>;
479
501
  /**
480
502
  * / Submit a paid service request. Returns a job id, or the price.
481
503
  * /
@@ -491,7 +513,7 @@ export interface _SERVICE {
491
513
  * /
492
514
  * / What DOES gate here is the market's freeze, and the service's own existence and pricing mode.
493
515
  */
494
- createJob: ActorMethod<[string, Uint8Array | number[], [] | [PaymentSignature]], Result_17>;
516
+ createJob: ActorMethod<[string, Uint8Array | number[], [] | [PaymentSignature]], Result_19>;
495
517
  /**
496
518
  * / Delete content.
497
519
  * /
@@ -600,7 +622,7 @@ export interface _SERVICE {
600
622
  * / before the nonce lock or any ledger call, and the refusal reaches the buyer as #Refused with
601
623
  * / ic402's text naming both principals. Pay as the principal that approved the allowance.
602
624
  */
603
- getContent: ActorMethod<[string, [] | [PaymentSignature]], Result_16>;
625
+ getContent: ActorMethod<[string, [] | [PaymentSignature]], Result_18>;
604
626
  /**
605
627
  * / ⟨0.16.0⟩ THE `getChunk` FIX, and it is the sharpest single case in the corpus.
606
628
  * /
@@ -627,7 +649,7 @@ export interface _SERVICE {
627
649
  * / check was out of scope by construction rather than by ruling. L11 adds payment gates to that
628
650
  * / list; this method is why.
629
651
  */
630
- getContentChunk: ActorMethod<[AccessGrant, bigint], Result_13>;
652
+ getContentChunk: ActorMethod<[AccessGrant, bigint], Result_15>;
631
653
  /**
632
654
  * / A seller's payout address — THEIRS, or the admin's to read.
633
655
  * /
@@ -635,7 +657,7 @@ export interface _SERVICE {
635
657
  * / caller can read, and `#Ok(null)` genuinely means "this seller has set no payout address" —
636
658
  * / distinguishable from "you may not ask", which is the whole point of the envelope.
637
659
  */
638
- getEvmSellerPayout: ActorMethod<[Principal], Result_15>;
660
+ getEvmSellerPayout: ActorMethod<[Principal], Result_17>;
639
661
  /**
640
662
  * / PUBLIC: what this canister's chains continue, or that they continue nothing. A fresh chain
641
663
  * / beside a published predecessor head is auditable; a fresh chain with no statement is
@@ -652,7 +674,7 @@ export interface _SERVICE {
652
674
  * / from it — the marketplace UI printed "Job not found (or not yet visible)" at a caller who was
653
675
  * / merely unauthorized. Job existence is not the secret: `getJobCounts()` is ungated.
654
676
  */
655
- getJob: ActorMethod<[string], Result_14>;
677
+ getJob: ActorMethod<[string], Result_16>;
656
678
  /**
657
679
  * / PUBLIC: aggregate counts that identify nobody — and already public on the engram, which is
658
680
  * / what made `listJobs`' existence-leak justification false.
@@ -669,7 +691,7 @@ export interface _SERVICE {
669
691
  * / Three outcomes, three answers now. And `Payer` (above) removes the root cause rather than
670
692
  * / only labelling it.
671
693
  */
672
- getJobResult: ActorMethod<[string], Result_13>;
694
+ getJobResult: ActorMethod<[string], Result_15>;
673
695
  /**
674
696
  * / Terminal money settlement — the seller gets paid. Honours the freeze exactly like every
675
697
  * / other settle path; a settlement that ignored the freeze would make the freeze a suggestion.
@@ -686,7 +708,7 @@ export interface _SERVICE {
686
708
  * / The engram returned `?EngramJobStatus`, conflating "no such job" with a null-ish answer. Here
687
709
  * / a missing job is `#NotFound`, which is a fact rather than an absence a caller has to interpret.
688
710
  */
689
- getJobStatus: ActorMethod<[string], Result_12>;
711
+ getJobStatus: ActorMethod<[string], Result_14>;
690
712
  /**
691
713
  * / PUBLIC: the market's spend limits, with the caller rosters REDACTED.
692
714
  * /
@@ -713,7 +735,7 @@ export interface _SERVICE {
713
735
  * / "you have sold nothing" — and returning it to a caller who simply has no identity is the
714
736
  * / fabricated-empty defect wearing a number instead of a list.
715
737
  */
716
- getRevenueSummary: ActorMethod<[], Result_11>;
738
+ getRevenueSummary: ActorMethod<[], Result_13>;
717
739
  /**
718
740
  * / PUBLIC: what a buyer can learn about a seller, and the whole of it.
719
741
  * /
@@ -726,7 +748,7 @@ export interface _SERVICE {
726
748
  * / `verified` is about ownership at a moment in time and nothing else. It is not an endorsement,
727
749
  * / and the field name is the strongest claim it makes.
728
750
  */
729
- getSellerStatus: ActorMethod<[Principal], Result_10>;
751
+ getSellerStatus: ActorMethod<[Principal], Result_12>;
730
752
  /**
731
753
  * / PUBLIC: aggregate session counts. Identifies nobody, and the same reasoning as getJobCounts —
732
754
  * / which is also what made `listJobs`' old "no existence leak" defence false.
@@ -813,13 +835,19 @@ export interface _SERVICE {
813
835
  /**
814
836
  * / `total` is the head counter, not the row count: this is a bounded ring, so a page that
815
837
  * / reported only what it returned would make a trimmed log look complete.
838
+ * /
839
+ * / ⟨2026-10-15, the owner's ruling 6B of 2026-10-14⟩ The reply is the shared `Wire.RecordPage`, so
840
+ * / one checker reads every chain. A viewer sees every entry, so `sealed` is always empty here;
841
+ * / `ringFloor` says where the ring starts and `hashFirstFrom` where this record switched to the
842
+ * / hash-first rule. The gate is unchanged (hash-only rows for strangers were ruled for the
843
+ * / engram's record).
816
844
  */
817
- listAuditEntries: ActorMethod<[bigint, bigint], Result_8>;
845
+ listAuditEntries: ActorMethod<[bigint, bigint], Result_11>;
818
846
  /**
819
847
  * / Admin AND the enrolled viewers themselves — L8's roster rule. A viewer who cannot see the
820
848
  * / roster cannot tell whether their own enrolment survived a rotation.
821
849
  */
822
- listAuditViewers: ActorMethod<[], Result_9>;
850
+ listAuditViewers: ActorMethod<[], Result_10>;
823
851
  /**
824
852
  * / PUBLIC: the catalogue is the storefront. A shop that refuses to say what it sells to
825
853
  * / anyone who has not already bought is not a shop.
@@ -830,7 +858,7 @@ export interface _SERVICE {
830
858
  * / the fabricated-empty class was born, and a refusal that leaves no trace cannot be counted,
831
859
  * / alerted on, or disproved.
832
860
  */
833
- listDenialEntries: ActorMethod<[bigint, bigint], Result_8>;
861
+ listDenialEntries: ActorMethod<[bigint, bigint], Result_9>;
834
862
  /**
835
863
  * / Purchase history for one endpoint: its creator sees every row, a buyer sees their own.
836
864
  * /
@@ -845,7 +873,7 @@ export interface _SERVICE {
845
873
  * / few sales. `withheld` now counts them, so "no purchases here" and "not yours to see" are
846
874
  * / different answers — without naming whose they were.
847
875
  */
848
- listEndpointPurchases: ActorMethod<[string, bigint, bigint], Result_7>;
876
+ listEndpointPurchases: ActorMethod<[string, bigint, bigint], Result_8>;
849
877
  /**
850
878
  * / PUBLIC: the shelves, like the catalogue. `#Deleted` listings are excluded from an
851
879
  * / unfiltered read and COUNTED in `withheld` — a shop with three deleted listings and a shop with
@@ -875,7 +903,7 @@ export interface _SERVICE {
875
903
  * / Now: `#Refused` when the caller may not ask, `#NotFound` when the service does not exist —
876
904
  * / two facts that were one empty list.
877
905
  */
878
- listJobs: ActorMethod<[string, [] | [JobStatus], bigint, bigint], Result_6>;
906
+ listJobs: ActorMethod<[string, [] | [JobStatus], bigint, bigint], Result_7>;
879
907
  /**
880
908
  * / The parked withdrawals belonging to this caller, so an unresolved payout is discoverable
881
909
  * / rather than something a seller has to already know the id of.
@@ -892,7 +920,7 @@ export interface _SERVICE {
892
920
  * / non-owner's view withholds other buyers' rows. Stated because a reader comparing the two
893
921
  * / should know the zero is a fact about this surface, not an unimplemented field.
894
922
  */
895
- listMyPendingWithdrawals: ActorMethod<[bigint, bigint], Result_5>;
923
+ listMyPendingWithdrawals: ActorMethod<[bigint, bigint], Result_6>;
896
924
  /**
897
925
  * / ⟨0.16.0⟩ `listAllServices` FOLDS in as `includeDisabled`.
898
926
  * /
@@ -945,7 +973,7 @@ export interface _SERVICE {
945
973
  * / not the bare `consumeVoucher`: the signed fallback is off on this canister, so the bare call
946
974
  * / refuses every voucher, and only the session key calling as itself may spend a session.
947
975
  */
948
- openSession: ActorMethod<[SessionConfig, PaymentSignature], Result_4>;
976
+ openSession: ActorMethod<[SessionConfig, PaymentSignature], Result_5>;
949
977
  /**
950
978
  * / RENAMED from `requestSession` (census tier-3 #21): it is a pure dry run — a quote for a session
951
979
  * / the caller has not opened and is not committed to. `request` read as an action with an effect.
@@ -1011,7 +1039,7 @@ export interface _SERVICE {
1011
1039
  * / on-chain nonce, so `settle` ALWAYS requires the server one. A conformant EVM x402 client
1012
1040
  * / sends no server nonce at all and is unaffected.
1013
1041
  */
1014
- quotePayment: ActorMethod<[bigint], Result_3>;
1042
+ quotePayment: ActorMethod<[bigint], Result_4>;
1015
1043
  /**
1016
1044
  * / Admin recovery: re-drive a job stuck mid-settlement — a broadcast EVM transfer whose outcome
1017
1045
  * / this canister never learned. Reads the chain and finishes what the settle started.
@@ -1097,8 +1125,16 @@ export interface _SERVICE {
1097
1125
  * / refused or rejected: that close already ends the session `closed`, with the remainder still in
1098
1126
  * / its escrow, so it needs no force. Recover it within 24 hours of that close, asking at most the
1099
1127
  * / escrow's ledger balance less one fee.
1128
+ * /
1129
+ * / ⟨2026-10-07, the owner's decision of that day⟩ WHAT IT ANSWERS: what came back. `amount` is what
1130
+ * / was transferred to the session's payer, in the token named (the amount asked, capped at the
1131
+ * / session's unconsumed deposit; the transfer's fee comes out of the escrow on top), and
1132
+ * / `blockIndex` is that ledger's block of the transfer. Until this date it answered a bare `nat`
1133
+ * / that was the block index alone, which read as the amount. If the session's record is removed
1134
+ * / before the amount can be read back — a session closed in the same moment as the recovery and
1135
+ * / cleaned up during its transfer — it answers `#Other` naming the block, never a guessed amount.
1100
1136
  */
1101
- recoverEscrow: ActorMethod<[string, TokenAmount], Result>;
1137
+ recoverEscrow: ActorMethod<[string, TokenAmount], Result_3>;
1102
1138
  /**
1103
1139
  * / Register as a seller by naming the engram you own.
1104
1140
  * /
@@ -1207,6 +1243,38 @@ export interface _SERVICE {
1207
1243
  * / dependency work.
1208
1244
  */
1209
1245
  resolveJob: ActorMethod<[string, JobStatus], Result_1>;
1246
+ /**
1247
+ * / Admin recovery: retry the payment to the seller of a job left `#Verified` by a failed payment.
1248
+ * / NOTHING ELSE. It never refunds the buyer, and it refuses every job that does not read
1249
+ * / `#Verified`, with nothing moved.
1250
+ * /
1251
+ * / ⟨2026-10-07, the owner's decision of that day⟩ A job whose work passed verification and whose
1252
+ * / payment to the seller then failed rests in `#Verified`, and only `resolveDispute` moves it — the
1253
+ * / service's SELLER's, by the ruling of 2026-08-17, which stands unchanged. A seller who never acts
1254
+ * / left it there, with no way for anyone else to move it. This is the admin's way: unstick, not
1255
+ * / decide. The job's outcome was decided by its verification; the payment goes where that sent it,
1256
+ * / and the admin names neither a recipient nor an amount. Refunding the buyer, and anything about a
1257
+ * / job not yet verified (`#Submitted`, `#Disputed`), stay the seller's.
1258
+ * /
1259
+ * / It runs the library's own settle, the one a buyer's confirmation runs: the job reads `#Settling`
1260
+ * / while it pays (so two retries cannot both pay), ends `#Settled`, and a payment the ledger refuses
1261
+ * / leaves it `#Verified` to retry again. For a job priced "up to" an amount, that settle also returns
1262
+ * / to the buyer what the seller did not claim, as every settle does. Past the admin check, the
1263
+ * / freeze and the cycles floor (each of which refuses before anything is read), every outcome is a
1264
+ * / chained record entry naming the admin.
1265
+ * /
1266
+ * / A NEW METHOD, NOT A WIDER `resolveJob`, ON PURPOSE. `resolveJob` is the one place the admin line
1267
+ * / bends — a STATE assertion, moving no money, for a job stuck in `#Settling`. Widening it to move
1268
+ * / money on a `#Verified` job would give one argument (`#Settled`) two meanings depending on a state
1269
+ * / the admin read a moment earlier: if the job moved to `#Settling` in between (a settle in flight),
1270
+ * / "pay the seller" would become "declare the seller paid". One method per meaning keeps the
1271
+ * / deciding one narrow and named.
1272
+ * /
1273
+ * / `#Conflict` covers the state refusals: a job that does not read `#Verified`, and the library's
1274
+ * / own (a job that moved on before the retry ran, or a payment that failed). `#NotFound` is a job id
1275
+ * / this market does not have.
1276
+ */
1277
+ retrySellerPayment: ActorMethod<[string], Result_1>;
1210
1278
  setAdmin: ActorMethod<[Principal], Result_1>;
1211
1279
  /**
1212
1280
  * / Override the policy for ONE payer — the market's per-buyer risk control.
@@ -28,7 +28,7 @@ export const idlFactory = ({ IDL }) => {
28
28
  suggestedPrice: IDL.Nat,
29
29
  enabledAtNs: IDL.Opt(IDL.Int),
30
30
  });
31
- const Result_18 = IDL.Variant({ Ok: X402Endpoint, Err: Error });
31
+ const Result_20 = IDL.Variant({ Ok: X402Endpoint, Err: Error });
32
32
  const Eip3009Authorization = IDL.Record({
33
33
  r: IDL.Vec(IDL.Nat8),
34
34
  s: IDL.Vec(IDL.Nat8),
@@ -65,7 +65,7 @@ export const idlFactory = ({ IDL }) => {
65
65
  Accepted: IDL.Record({ jobId: IDL.Text }),
66
66
  PaymentRequired: IDL.Vec(PaymentRequirement),
67
67
  });
68
- const Result_17 = IDL.Variant({
68
+ const Result_19 = IDL.Variant({
69
69
  Ok: ServiceRequestResponse,
70
70
  Err: Error,
71
71
  });
@@ -126,9 +126,9 @@ export const idlFactory = ({ IDL }) => {
126
126
  Delivered: ContentDelivery,
127
127
  PaymentRequired: IDL.Vec(PaymentRequirement),
128
128
  });
129
- const Result_16 = IDL.Variant({ Ok: ContentResponse, Err: Error });
130
- const Result_13 = IDL.Variant({ Ok: IDL.Vec(IDL.Nat8), Err: Error });
131
- const Result_15 = IDL.Variant({ Ok: IDL.Opt(IDL.Text), Err: Error });
129
+ const Result_18 = IDL.Variant({ Ok: ContentResponse, Err: Error });
130
+ const Result_15 = IDL.Variant({ Ok: IDL.Vec(IDL.Nat8), Err: Error });
131
+ const Result_17 = IDL.Variant({ Ok: IDL.Opt(IDL.Text), Err: Error });
132
132
  const GenesisNote = IDL.Record({
133
133
  predecessorSize: IDL.Opt(IDL.Nat),
134
134
  predecessorHeadHash: IDL.Opt(IDL.Vec(IDL.Nat8)),
@@ -179,7 +179,7 @@ export const idlFactory = ({ IDL }) => {
179
179
  amount: IDL.Nat,
180
180
  params: IDL.Vec(IDL.Nat8),
181
181
  });
182
- const Result_14 = IDL.Variant({ Ok: Job, Err: Error });
182
+ const Result_16 = IDL.Variant({ Ok: Job, Err: Error });
183
183
  const JobCounts = IDL.Record({
184
184
  total: IDL.Nat,
185
185
  active: IDL.Nat,
@@ -189,7 +189,7 @@ export const idlFactory = ({ IDL }) => {
189
189
  settling: IDL.Nat,
190
190
  parked: IDL.Nat,
191
191
  });
192
- const Result_12 = IDL.Variant({ Ok: JobStatus, Err: Error });
192
+ const Result_14 = IDL.Variant({ Ok: JobStatus, Err: Error });
193
193
  const SpendingPolicy = IDL.Record({
194
194
  maxSessionDeposit: IDL.Opt(IDL.Nat),
195
195
  blockedCallers: IDL.Opt(IDL.Vec(IDL.Principal)),
@@ -217,7 +217,7 @@ export const idlFactory = ({ IDL }) => {
217
217
  contentPurchases: IDL.Nat,
218
218
  unresolvedWithdrawals: IDL.Nat,
219
219
  });
220
- const Result_11 = IDL.Variant({ Ok: RevenueSummary, Err: Error });
220
+ const Result_13 = IDL.Variant({ Ok: RevenueSummary, Err: Error });
221
221
  const SellerStatus = IDL.Record({
222
222
  expiresAtNs: IDL.Int,
223
223
  verifiedAtNs: IDL.Int,
@@ -225,12 +225,13 @@ export const idlFactory = ({ IDL }) => {
225
225
  engramId: IDL.Principal,
226
226
  byteQuota: IDL.Nat,
227
227
  });
228
- const Result_10 = IDL.Variant({ Ok: SellerStatus, Err: Error });
228
+ const Result_12 = IDL.Variant({ Ok: SellerStatus, Err: Error });
229
229
  const SessionCounts = IDL.Record({
230
230
  closed: IDL.Nat,
231
231
  total: IDL.Nat,
232
232
  expired: IDL.Nat,
233
233
  open: IDL.Nat,
234
+ refundOwed: IDL.Opt(IDL.Nat),
234
235
  closing: IDL.Nat,
235
236
  });
236
237
  const HttpRequest = IDL.Record({
@@ -245,6 +246,11 @@ export const idlFactory = ({ IDL }) => {
245
246
  upgrade: IDL.Opt(IDL.Bool),
246
247
  status_code: IDL.Nat16,
247
248
  });
249
+ const SealedEntry = IDL.Record({
250
+ id: IDL.Nat,
251
+ entryHash: IDL.Vec(IDL.Nat8),
252
+ digest: IDL.Vec(IDL.Nat8),
253
+ });
248
254
  const Role = IDL.Variant({
249
255
  Anonymous: IDL.Null,
250
256
  Viewer: IDL.Null,
@@ -269,18 +275,20 @@ export const idlFactory = ({ IDL }) => {
269
275
  success: IDL.Bool,
270
276
  timestampNs: IDL.Int,
271
277
  });
272
- const Page_5 = IDL.Record({
278
+ const RecordPage = IDL.Record({
279
+ ringFloor: IDL.Nat,
273
280
  total: IDL.Nat,
274
- withheld: IDL.Nat,
281
+ sealed: IDL.Vec(SealedEntry),
275
282
  items: IDL.Vec(AuditEntry),
283
+ hashFirstFrom: IDL.Nat,
276
284
  });
277
- const Result_8 = IDL.Variant({ Ok: Page_5, Err: Error });
285
+ const Result_11 = IDL.Variant({ Ok: RecordPage, Err: Error });
278
286
  const Page_7 = IDL.Record({
279
287
  total: IDL.Nat,
280
288
  withheld: IDL.Nat,
281
289
  items: IDL.Vec(IDL.Principal),
282
290
  });
283
- const Result_9 = IDL.Variant({ Ok: Page_7, Err: Error });
291
+ const Result_10 = IDL.Variant({ Ok: Page_7, Err: Error });
284
292
  const ContentEntry = IDL.Record({
285
293
  id: IDL.Text,
286
294
  createdAt: IDL.Int,
@@ -293,6 +301,12 @@ export const idlFactory = ({ IDL }) => {
293
301
  withheld: IDL.Nat,
294
302
  items: IDL.Vec(ContentEntry),
295
303
  });
304
+ const Page_5 = IDL.Record({
305
+ total: IDL.Nat,
306
+ withheld: IDL.Nat,
307
+ items: IDL.Vec(AuditEntry),
308
+ });
309
+ const Result_9 = IDL.Variant({ Ok: Page_5, Err: Error });
296
310
  const Payer = IDL.Variant({ Evm: IDL.Text, Icp: IDL.Principal });
297
311
  const PurchaseRecord = IDL.Record({
298
312
  id: IDL.Text,
@@ -309,7 +323,7 @@ export const idlFactory = ({ IDL }) => {
309
323
  withheld: IDL.Nat,
310
324
  items: IDL.Vec(PurchaseRecord),
311
325
  });
312
- const Result_7 = IDL.Variant({ Ok: Page_4, Err: Error });
326
+ const Result_8 = IDL.Variant({ Ok: Page_4, Err: Error });
313
327
  const Page_3 = IDL.Record({
314
328
  total: IDL.Nat,
315
329
  withheld: IDL.Nat,
@@ -320,7 +334,7 @@ export const idlFactory = ({ IDL }) => {
320
334
  withheld: IDL.Nat,
321
335
  items: IDL.Vec(Job),
322
336
  });
323
- const Result_6 = IDL.Variant({ Ok: Page_2, Err: Error });
337
+ const Result_7 = IDL.Variant({ Ok: Page_2, Err: Error });
324
338
  const PendingWithdrawal = IDL.Record({
325
339
  id: IDL.Nat,
326
340
  parkedAtNs: IDL.Int,
@@ -334,7 +348,7 @@ export const idlFactory = ({ IDL }) => {
334
348
  withheld: IDL.Nat,
335
349
  items: IDL.Vec(PendingWithdrawal),
336
350
  });
337
- const Result_5 = IDL.Variant({ Ok: Page_1, Err: Error });
351
+ const Result_6 = IDL.Variant({ Ok: Page_1, Err: Error });
338
352
  const ServiceType = IDL.Variant({ Sync: IDL.Null, Async: IDL.Null });
339
353
  const PricingScheme = IDL.Variant({
340
354
  Exact: IDL.Nat,
@@ -397,7 +411,7 @@ export const idlFactory = ({ IDL }) => {
397
411
  remaining: IDL.Nat,
398
412
  payer: Payer,
399
413
  });
400
- const Result_4 = IDL.Variant({ Ok: SessionState, Err: Error });
414
+ const Result_5 = IDL.Variant({ Ok: SessionState, Err: Error });
401
415
  const SessionIntent = IDL.Record({
402
416
  token: IDL.Text,
403
417
  costPerCall: IDL.Opt(IDL.Nat),
@@ -422,7 +436,7 @@ export const idlFactory = ({ IDL }) => {
422
436
  amountE6: IDL.Nat,
423
437
  requirements: IDL.Vec(QuotedRequirement),
424
438
  });
425
- const Result_3 = IDL.Variant({ Ok: PaymentQuote, Err: Error });
439
+ const Result_4 = IDL.Variant({ Ok: PaymentQuote, Err: Error });
426
440
  const Result_2 = IDL.Variant({ Ok: IDL.Text, Err: Error });
427
441
  const Result = IDL.Variant({ Ok: IDL.Nat, Err: Error });
428
442
  const TokenAmount = IDL.Variant({
@@ -430,13 +444,18 @@ export const idlFactory = ({ IDL }) => {
430
444
  Ckusdc: IDL.Nat,
431
445
  Ckusdt: IDL.Nat,
432
446
  });
447
+ const EscrowRecovery = IDL.Record({
448
+ blockIndex: IDL.Nat,
449
+ amount: TokenAmount,
450
+ });
451
+ const Result_3 = IDL.Variant({ Ok: EscrowRecovery, Err: Error });
433
452
  return IDL.Service({
434
453
  addAuditViewer: IDL.Func([IDL.Principal], [Result_1], []),
435
454
  anchorNow: IDL.Func([], [Result_1], []),
436
455
  claimJob: IDL.Func([IDL.Text], [Result_1], []),
437
456
  confirmJob: IDL.Func([IDL.Text, IDL.Opt(IDL.Vec(IDL.Nat8))], [Result_1], []),
438
- createEndpoint: IDL.Func([IDL.Text, IDL.Text, IDL.Text, IDL.Nat], [Result_18], []),
439
- createJob: IDL.Func([IDL.Text, IDL.Vec(IDL.Nat8), IDL.Opt(PaymentSignature)], [Result_17], []),
457
+ createEndpoint: IDL.Func([IDL.Text, IDL.Text, IDL.Text, IDL.Nat], [Result_20], []),
458
+ createJob: IDL.Func([IDL.Text, IDL.Vec(IDL.Nat8), IDL.Opt(PaymentSignature)], [Result_19], []),
440
459
  deleteContent: IDL.Func([IDL.Text], [Result_1], []),
441
460
  deleteEndpoint: IDL.Func([IDL.Text], [Result_1], []),
442
461
  disputeJob: IDL.Func([IDL.Text, IDL.Text, IDL.Opt(IDL.Vec(IDL.Nat8))], [Result_1], []),
@@ -447,17 +466,17 @@ export const idlFactory = ({ IDL }) => {
447
466
  getAuditHead: IDL.Func([], [AuditHead], ['query']),
448
467
  getBuyerActionMessage: IDL.Func([IDL.Text, IDL.Text], [IDL.Text], ['query']),
449
468
  getCertifiedAuditHead: IDL.Func([], [CertifiedAuditHead], ['query']),
450
- getContent: IDL.Func([IDL.Text, IDL.Opt(PaymentSignature)], [Result_16], []),
451
- getContentChunk: IDL.Func([AccessGrant, IDL.Nat], [Result_13], ['query']),
452
- getEvmSellerPayout: IDL.Func([IDL.Principal], [Result_15], ['query']),
469
+ getContent: IDL.Func([IDL.Text, IDL.Opt(PaymentSignature)], [Result_18], []),
470
+ getContentChunk: IDL.Func([AccessGrant, IDL.Nat], [Result_15], ['query']),
471
+ getEvmSellerPayout: IDL.Func([IDL.Principal], [Result_17], ['query']),
453
472
  getGenesisNote: IDL.Func([], [GenesisNote], ['query']),
454
- getJob: IDL.Func([IDL.Text], [Result_14], ['query']),
473
+ getJob: IDL.Func([IDL.Text], [Result_16], ['query']),
455
474
  getJobCounts: IDL.Func([], [JobCounts], ['query']),
456
- getJobResult: IDL.Func([IDL.Text], [Result_13], ['query']),
457
- getJobStatus: IDL.Func([IDL.Text], [Result_12], ['query']),
475
+ getJobResult: IDL.Func([IDL.Text], [Result_15], ['query']),
476
+ getJobStatus: IDL.Func([IDL.Text], [Result_14], ['query']),
458
477
  getPaymentPolicy: IDL.Func([], [SpendingPolicy], ['query']),
459
- getRevenueSummary: IDL.Func([], [Result_11], ['query']),
460
- getSellerStatus: IDL.Func([IDL.Principal], [Result_10], ['query']),
478
+ getRevenueSummary: IDL.Func([], [Result_13], ['query']),
479
+ getSellerStatus: IDL.Func([IDL.Principal], [Result_12], ['query']),
461
480
  getSessionCounts: IDL.Func([], [SessionCounts], ['query']),
462
481
  http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),
463
482
  http_request_update: IDL.Func([HttpRequest], [HttpResponse], []),
@@ -489,22 +508,22 @@ export const idlFactory = ({ IDL }) => {
489
508
  ['query'],
490
509
  ),
491
510
  isTradeFrozen: IDL.Func([], [IDL.Bool], ['query']),
492
- listAuditEntries: IDL.Func([IDL.Nat, IDL.Nat], [Result_8], ['query']),
493
- listAuditViewers: IDL.Func([], [Result_9], ['query']),
511
+ listAuditEntries: IDL.Func([IDL.Nat, IDL.Nat], [Result_11], ['query']),
512
+ listAuditViewers: IDL.Func([], [Result_10], ['query']),
494
513
  listContent: IDL.Func([IDL.Nat, IDL.Nat], [Page_6], ['query']),
495
- listDenialEntries: IDL.Func([IDL.Nat, IDL.Nat], [Result_8], ['query']),
496
- listEndpointPurchases: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [Result_7], ['query']),
514
+ listDenialEntries: IDL.Func([IDL.Nat, IDL.Nat], [Result_9], ['query']),
515
+ listEndpointPurchases: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [Result_8], ['query']),
497
516
  listEndpoints: IDL.Func([IDL.Opt(EndpointStatus), IDL.Nat, IDL.Nat], [Page_3], ['query']),
498
- listJobs: IDL.Func([IDL.Text, IDL.Opt(JobStatus), IDL.Nat, IDL.Nat], [Result_6], ['query']),
499
- listMyPendingWithdrawals: IDL.Func([IDL.Nat, IDL.Nat], [Result_5], ['query']),
517
+ listJobs: IDL.Func([IDL.Text, IDL.Opt(JobStatus), IDL.Nat, IDL.Nat], [Result_7], ['query']),
518
+ listMyPendingWithdrawals: IDL.Func([IDL.Nat, IDL.Nat], [Result_6], ['query']),
500
519
  listServices: IDL.Func([IDL.Bool, IDL.Nat, IDL.Nat], [Page], ['query']),
501
- openSession: IDL.Func([SessionConfig, PaymentSignature], [Result_4], []),
520
+ openSession: IDL.Func([SessionConfig, PaymentSignature], [Result_5], []),
502
521
  previewOpenSession: IDL.Func([], [SessionIntent], ['query']),
503
- quotePayment: IDL.Func([IDL.Nat], [Result_3], ['query']),
522
+ quotePayment: IDL.Func([IDL.Nat], [Result_4], ['query']),
504
523
  reconcileJob: IDL.Func([IDL.Text], [Result_2], []),
505
524
  reconcileSession: IDL.Func([IDL.Text], [Result_2], []),
506
525
  recoverContentWithdrawal: IDL.Func([IDL.Nat], [Result], []),
507
- recoverEscrow: IDL.Func([IDL.Text, TokenAmount], [Result], []),
526
+ recoverEscrow: IDL.Func([IDL.Text, TokenAmount], [Result_3], []),
508
527
  registerSeller: IDL.Func([IDL.Principal], [Result_1], []),
509
528
  registerService: IDL.Func(
510
529
  [
@@ -526,6 +545,7 @@ export const idlFactory = ({ IDL }) => {
526
545
  removeCallerPolicy: IDL.Func([IDL.Principal], [Result_1], []),
527
546
  resolveDispute: IDL.Func([IDL.Text, IDL.Bool], [Result_1], []),
528
547
  resolveJob: IDL.Func([IDL.Text, JobStatus], [Result_1], []),
548
+ retrySellerPayment: IDL.Func([IDL.Text], [Result_1], []),
529
549
  setAdmin: IDL.Func([IDL.Principal], [Result_1], []),
530
550
  setCallerPolicy: IDL.Func([IDL.Principal, SpendingPolicy], [Result_1], []),
531
551
  setEndpointEnabled: IDL.Func([IDL.Text, IDL.Bool], [Result_1], []),