@peerbit/trusted-network 6.0.109 → 6.0.110

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.
@@ -1,3 +1,4 @@
1
+ import type { CrashSafeAtomicReplaceStore } from "@peerbit/any-store-interface";
1
2
  import { PublicSignKey } from "@peerbit/crypto";
2
3
  import type { PolicyAdmissionResultV2, PolicyForkEvidenceV2, PolicyHeadProjectionV2, PolicySnapshotResolverV2 } from "./v2-policy-engine.js";
3
4
  import { NetworkDescriptorV2 } from "./v2.js";
@@ -5,22 +6,15 @@ import { NetworkDescriptorV2 } from "./v2.js";
5
6
  * Internal crash-safe policy-anchor storage format.
6
7
  *
7
8
  * This module is intentionally absent from the package entry point. Its store
8
- * must already be open and scoped to this namespace and descriptor. Exactly
9
- * one wrapper may write that scope: this append-only format deliberately does
10
- * not pretend that get-then-put is a multi-process compare-and-swap.
9
+ * must already be open and dedicated to this anchor and descriptor. Exactly
10
+ * one wrapper may write that scope: the two-slot checkpoint deliberately does
11
+ * not pretend that atomic replacement is a multi-process compare-and-swap.
11
12
  */
13
+ /** The namespace owned by the superseded append-only anchor format. */
12
14
  export declare const TRUSTED_NETWORK_V2_POLICY_ANCHOR_STORE_OWNER = "peerbit/trusted-network/v2/policy-anchor/v1";
13
- export declare const TRUSTED_NETWORK_V2_MAX_POLICY_ANCHOR_GENERATION_BYTES: number;
14
- type MaybePromiseV2<T> = T | Promise<T>;
15
- export type CrashSafePolicyAnchorStoreV2 = {
16
- get(key: string): MaybePromiseV2<Uint8Array | undefined>;
17
- put(key: string, value: Uint8Array): MaybePromiseV2<void>;
18
- iterator(): AsyncIterable<[string, Uint8Array]>;
19
- readonly crashSafeDurability: {
20
- readonly crashSafe: true;
21
- barrier(): MaybePromiseV2<void>;
22
- };
23
- };
15
+ /** Exact maximum encoded application payload accepted by the checkpoint. */
16
+ export declare const TRUSTED_NETWORK_V2_MAX_POLICY_ANCHOR_CHECKPOINT_PAYLOAD_BYTES: number;
17
+ export type CrashSafePolicyAnchorStoreV2 = CrashSafeAtomicReplaceStore;
24
18
  type DurableReducerOptionsV2 = {
25
19
  descriptor: NetworkDescriptorV2;
26
20
  resolvePolicyEntry: PolicySnapshotResolverV2;
@@ -36,19 +30,14 @@ export type TrustedNetworkV2DurablePolicyReducerOptions = DurableReducerOptionsV
36
30
  * Crash-safe publication wrapper for the internal v2 reducer.
37
31
  *
38
32
  * The mutable reducer is never exposed. Authorization reads use only the last
39
- * projection published after the store barrier. An admission places a
40
- * fail-closed fence around both reducer mutation and durable publication.
33
+ * projection published after one atomic checkpoint replacement. An admission
34
+ * places a fail-closed fence around both reducer mutation and publication.
41
35
  */
42
36
  export declare class TrustedNetworkV2DurablePolicyReducer {
43
- private readonly store;
44
- private readonly durability;
45
- private readonly descriptor;
46
- private readonly descriptorHash;
37
+ private checkpoint?;
47
38
  private core;
48
39
  private published;
49
- private generation;
50
- private previousGenerationChecksum;
51
- private durableCoreBytes?;
40
+ private durableCoreIdentityBytes?;
52
41
  private operationTail;
53
42
  private authorizationFences;
54
43
  private bufferedAdmissions;
@@ -1 +1 @@
1
- {"version":3,"file":"v2-policy-anchor.d.ts","sourceRoot":"","sources":["../../src/v2-policy-anchor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v2-policy-anchor.d.ts","sourceRoot":"","sources":["../../src/v2-policy-anchor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAE5D,OAAO,KAAK,EACX,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EAEtB,wBAAwB,EACxB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EACN,mBAAmB,EAKnB,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AAEH,uEAAuE;AACvE,eAAO,MAAM,4CAA4C,gDACX,CAAC;AAW/C,4EAA4E;AAC5E,eAAO,MAAM,6DAA6D,QAElC,CAAC;AAczC,MAAM,MAAM,4BAA4B,GAAG,2BAA2B,CAAC;AAEvE,KAAK,uBAAuB,GAAG;IAC9B,UAAU,EAAE,mBAAmB,CAAC;IAChC,kBAAkB,EAAE,wBAAwB,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,2CAA2C,GACtD,uBAAuB,GAAG;IACzB,KAAK,EAAE,4BAA4B,CAAC;CACpC,CAAC;AA4lBH;;;;;;GAMG;AACH,qBAAa,oCAAoC;IAChD,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,wBAAwB,CAAC,CAAa;IAC9C,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,2BAA2B,CAAK;IACxC,OAAO,CAAC,aAAa,CAAC,CAAQ;IAE9B,OAAO;WAcM,IAAI,CAChB,OAAO,EAAE,2CAA2C,GAClD,OAAO,CAAC,oCAAoC,CAAC;IA+EhD,IAAI,KAAK,IAAI,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAOpE;IAED,IAAI,IAAI,IAAI,sBAAsB,GAAG,SAAS,CAE7C;IAED,IAAI,YAAY,IAAI,oBAAoB,GAAG,SAAS,CAEnD;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,cAAc,IAAI,UAAU,EAAE,CAIjC;IAED,0EAA0E;IAC1E,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,uEAAuE;IACvE,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM;IAIxC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAa5D,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2DhE,gBAAgB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAiCpD,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,OAAO;IAuBf,OAAO,CAAC,IAAI;YAYE,sBAAsB;CAoEpC"}