checkpointed-local-log 0.1.0__tar.gz

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.
Files changed (26) hide show
  1. checkpointed_local_log-0.1.0/LICENSE +28 -0
  2. checkpointed_local_log-0.1.0/PKG-INFO +98 -0
  3. checkpointed_local_log-0.1.0/README.md +73 -0
  4. checkpointed_local_log-0.1.0/checkpointed_local_log.egg-info/PKG-INFO +98 -0
  5. checkpointed_local_log-0.1.0/checkpointed_local_log.egg-info/SOURCES.txt +24 -0
  6. checkpointed_local_log-0.1.0/checkpointed_local_log.egg-info/dependency_links.txt +1 -0
  7. checkpointed_local_log-0.1.0/checkpointed_local_log.egg-info/requires.txt +8 -0
  8. checkpointed_local_log-0.1.0/checkpointed_local_log.egg-info/top_level.txt +1 -0
  9. checkpointed_local_log-0.1.0/cll/__init__.py +24 -0
  10. checkpointed_local_log-0.1.0/cll/checkpoint/__init__.py +149 -0
  11. checkpointed_local_log-0.1.0/cll/checkpoint/bundle.py +481 -0
  12. checkpointed_local_log-0.1.0/cll/checkpoint/core.py +691 -0
  13. checkpointed_local_log-0.1.0/cll/checkpoint/cose_wire.py +634 -0
  14. checkpointed_local_log-0.1.0/cll/checkpoint/emit.py +1006 -0
  15. checkpointed_local_log-0.1.0/cll/checkpoint/index.py +227 -0
  16. checkpointed_local_log-0.1.0/cll/checkpoint/store.py +30 -0
  17. checkpointed_local_log-0.1.0/cll/ledger/__init__.py +46 -0
  18. checkpointed_local_log-0.1.0/cll/ledger/admission.py +225 -0
  19. checkpointed_local_log-0.1.0/cll/ledger/api.py +76 -0
  20. checkpointed_local_log-0.1.0/cll/ledger/checkpoint.py +518 -0
  21. checkpointed_local_log-0.1.0/cll/ledger/records.py +55 -0
  22. checkpointed_local_log-0.1.0/cll/ledger/store.py +573 -0
  23. checkpointed_local_log-0.1.0/cll/revocation.py +132 -0
  24. checkpointed_local_log-0.1.0/cll/signing.py +70 -0
  25. checkpointed_local_log-0.1.0/pyproject.toml +52 -0
  26. checkpointed_local_log-0.1.0/setup.cfg +4 -0
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2026 Action State Group, Inc.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its contributors
16
+ may be used to endorse or promote products derived from this software
17
+ without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: checkpointed-local-log
3
+ Version: 0.1.0
4
+ Summary: CLL: an append-only local log backed by a Merkle Mountain Range (MMR), with periodic signed COSE checkpoints and third-party witnessing -- the reference implementation for draft-mih-scitt-checkpointed-local-log.
5
+ Author: Action State Group
6
+ License: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/action-state-group/checkpointed-local-log
8
+ Project-URL: Source, https://github.com/action-state-group/checkpointed-local-log
9
+ Keywords: scitt,mmr,merkle-mountain-range,merkle,transparency,checkpoint,audit
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Topic :: Security :: Cryptography
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Requires-Python: >=3.9
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: cbor2>=5.5
18
+ Requires-Dist: scitt-cose>=0.2.0
19
+ Requires-Dist: agent-action-capsule>=0.2.0
20
+ Requires-Dist: cryptography>=42.0
21
+ Provides-Extra: dev
22
+ Requires-Dist: pytest>=7.0; extra == "dev"
23
+ Requires-Dist: ruff<0.16,>=0.4; extra == "dev"
24
+ Dynamic: license-file
25
+
26
+ # checkpointed-local-log
27
+
28
+ **The Checkpointed Local Log (CLL)** — an IETF Internet-Draft specifying a
29
+ producer-operated, append-only local log with periodic signed checkpoints.
30
+ Entries are appended locally and never published; only a small checkpoint —
31
+ a signed commitment to the log's entire history — ever leaves the producer.
32
+ Checkpoints may be registered with one or more independent SCITT Transparency
33
+ Services or witnesses, turning a set of individually signed records into a
34
+ stream with provable order, contemporaneity, and completeness.
35
+
36
+ The log itself is a **Merkle Mountain Range (MMR)**, whose COSE proof formats
37
+ are specified in `I-D.bryce-cose-receipts-mmr-profile`. This document
38
+ specifies the log discipline and the checkpoint structure on top of that
39
+ MMR — it defines no new proof formats, no transparency service behavior, and
40
+ no payload semantics. The append-only MMR log is implemented in this repo's
41
+ `cll` Python package (below); `capsule-emit` and `capsule-ledger` consume it
42
+ rather than each forking their own copy.
43
+
44
+ > **Status.** This is an **individual** IETF Internet-Draft, not a Working
45
+ > Group document, and not an RFC.
46
+
47
+ ## The `cll` package
48
+
49
+ `cll` is the reference implementation of this spec: a Python package
50
+ shipping the pieces a CLL producer or verifier needs.
51
+
52
+ ```sh
53
+ pip install checkpointed-local-log
54
+ ```
55
+
56
+ What it ships:
57
+
58
+ - **Append-only log store** (`cll.ledger`) — JSONL segments plus a derived
59
+ SQLite index, the three-state admission contract, and hash-chain /
60
+ chain-gap detection.
61
+ - **Merkle Mountain Range (MMR)** (`cll.checkpoint.core`/`.index`/`.store`) —
62
+ the pure position math, domain-separated hashing, and inclusion/consistency
63
+ proofs this spec's checkpoints commit to.
64
+ - **Signed COSE checkpoints** (`cll.checkpoint.emit`/`.cose_wire`) —
65
+ building, signing, and registering checkpoints with a Transparency Service
66
+ over the COSE_Sign1 wire form this spec defines.
67
+ - **Disclosure bundles** (`cll.checkpoint.bundle`) — the record/range-level,
68
+ offline-verifiable evidence package (inclusion proof + covering checkpoint
69
+ + witness stamp + consistency proof) for handing one log record to a
70
+ stranger.
71
+
72
+ See [`docs/module-map.md`](docs/module-map.md) for the section-by-section map
73
+ from this spec to the package's modules.
74
+
75
+ ## Building the draft
76
+
77
+ The build toolchain is [`kramdown-rfc`](https://github.com/cabo/kramdown-rfc)
78
+ (Markdown → RFCXML v2) and [`xml2rfc`](https://pypi.org/project/xml2rfc/)
79
+ (v2 → v3 → text):
80
+
81
+ ```sh
82
+ cd spec
83
+ make DRAFT=draft-mih-scitt-checkpointed-local-log-00 \
84
+ KDRFC=kramdown-rfc2629 \
85
+ XML2RFC=xml2rfc \
86
+ draft-mih-scitt-checkpointed-local-log-00.xml \
87
+ draft-mih-scitt-checkpointed-local-log-00.txt
88
+ ```
89
+
90
+ `spec/.refcache/` is committed so the build never depends on `bib.ietf.org`
91
+ being reachable. See comments in `spec/Makefile` for `rebuild` and
92
+ `refresh-refs` targets.
93
+
94
+ ## License
95
+
96
+ See [LICENSE](LICENSE): the specification text is governed by
97
+ [BCP 78](https://www.rfc-editor.org/info/bcp78) and the IETF Trust's Legal
98
+ Provisions; code and reference material are under the Revised BSD License.
@@ -0,0 +1,73 @@
1
+ # checkpointed-local-log
2
+
3
+ **The Checkpointed Local Log (CLL)** — an IETF Internet-Draft specifying a
4
+ producer-operated, append-only local log with periodic signed checkpoints.
5
+ Entries are appended locally and never published; only a small checkpoint —
6
+ a signed commitment to the log's entire history — ever leaves the producer.
7
+ Checkpoints may be registered with one or more independent SCITT Transparency
8
+ Services or witnesses, turning a set of individually signed records into a
9
+ stream with provable order, contemporaneity, and completeness.
10
+
11
+ The log itself is a **Merkle Mountain Range (MMR)**, whose COSE proof formats
12
+ are specified in `I-D.bryce-cose-receipts-mmr-profile`. This document
13
+ specifies the log discipline and the checkpoint structure on top of that
14
+ MMR — it defines no new proof formats, no transparency service behavior, and
15
+ no payload semantics. The append-only MMR log is implemented in this repo's
16
+ `cll` Python package (below); `capsule-emit` and `capsule-ledger` consume it
17
+ rather than each forking their own copy.
18
+
19
+ > **Status.** This is an **individual** IETF Internet-Draft, not a Working
20
+ > Group document, and not an RFC.
21
+
22
+ ## The `cll` package
23
+
24
+ `cll` is the reference implementation of this spec: a Python package
25
+ shipping the pieces a CLL producer or verifier needs.
26
+
27
+ ```sh
28
+ pip install checkpointed-local-log
29
+ ```
30
+
31
+ What it ships:
32
+
33
+ - **Append-only log store** (`cll.ledger`) — JSONL segments plus a derived
34
+ SQLite index, the three-state admission contract, and hash-chain /
35
+ chain-gap detection.
36
+ - **Merkle Mountain Range (MMR)** (`cll.checkpoint.core`/`.index`/`.store`) —
37
+ the pure position math, domain-separated hashing, and inclusion/consistency
38
+ proofs this spec's checkpoints commit to.
39
+ - **Signed COSE checkpoints** (`cll.checkpoint.emit`/`.cose_wire`) —
40
+ building, signing, and registering checkpoints with a Transparency Service
41
+ over the COSE_Sign1 wire form this spec defines.
42
+ - **Disclosure bundles** (`cll.checkpoint.bundle`) — the record/range-level,
43
+ offline-verifiable evidence package (inclusion proof + covering checkpoint
44
+ + witness stamp + consistency proof) for handing one log record to a
45
+ stranger.
46
+
47
+ See [`docs/module-map.md`](docs/module-map.md) for the section-by-section map
48
+ from this spec to the package's modules.
49
+
50
+ ## Building the draft
51
+
52
+ The build toolchain is [`kramdown-rfc`](https://github.com/cabo/kramdown-rfc)
53
+ (Markdown → RFCXML v2) and [`xml2rfc`](https://pypi.org/project/xml2rfc/)
54
+ (v2 → v3 → text):
55
+
56
+ ```sh
57
+ cd spec
58
+ make DRAFT=draft-mih-scitt-checkpointed-local-log-00 \
59
+ KDRFC=kramdown-rfc2629 \
60
+ XML2RFC=xml2rfc \
61
+ draft-mih-scitt-checkpointed-local-log-00.xml \
62
+ draft-mih-scitt-checkpointed-local-log-00.txt
63
+ ```
64
+
65
+ `spec/.refcache/` is committed so the build never depends on `bib.ietf.org`
66
+ being reachable. See comments in `spec/Makefile` for `rebuild` and
67
+ `refresh-refs` targets.
68
+
69
+ ## License
70
+
71
+ See [LICENSE](LICENSE): the specification text is governed by
72
+ [BCP 78](https://www.rfc-editor.org/info/bcp78) and the IETF Trust's Legal
73
+ Provisions; code and reference material are under the Revised BSD License.
@@ -0,0 +1,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: checkpointed-local-log
3
+ Version: 0.1.0
4
+ Summary: CLL: an append-only local log backed by a Merkle Mountain Range (MMR), with periodic signed COSE checkpoints and third-party witnessing -- the reference implementation for draft-mih-scitt-checkpointed-local-log.
5
+ Author: Action State Group
6
+ License: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/action-state-group/checkpointed-local-log
8
+ Project-URL: Source, https://github.com/action-state-group/checkpointed-local-log
9
+ Keywords: scitt,mmr,merkle-mountain-range,merkle,transparency,checkpoint,audit
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Topic :: Security :: Cryptography
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Requires-Python: >=3.9
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: cbor2>=5.5
18
+ Requires-Dist: scitt-cose>=0.2.0
19
+ Requires-Dist: agent-action-capsule>=0.2.0
20
+ Requires-Dist: cryptography>=42.0
21
+ Provides-Extra: dev
22
+ Requires-Dist: pytest>=7.0; extra == "dev"
23
+ Requires-Dist: ruff<0.16,>=0.4; extra == "dev"
24
+ Dynamic: license-file
25
+
26
+ # checkpointed-local-log
27
+
28
+ **The Checkpointed Local Log (CLL)** — an IETF Internet-Draft specifying a
29
+ producer-operated, append-only local log with periodic signed checkpoints.
30
+ Entries are appended locally and never published; only a small checkpoint —
31
+ a signed commitment to the log's entire history — ever leaves the producer.
32
+ Checkpoints may be registered with one or more independent SCITT Transparency
33
+ Services or witnesses, turning a set of individually signed records into a
34
+ stream with provable order, contemporaneity, and completeness.
35
+
36
+ The log itself is a **Merkle Mountain Range (MMR)**, whose COSE proof formats
37
+ are specified in `I-D.bryce-cose-receipts-mmr-profile`. This document
38
+ specifies the log discipline and the checkpoint structure on top of that
39
+ MMR — it defines no new proof formats, no transparency service behavior, and
40
+ no payload semantics. The append-only MMR log is implemented in this repo's
41
+ `cll` Python package (below); `capsule-emit` and `capsule-ledger` consume it
42
+ rather than each forking their own copy.
43
+
44
+ > **Status.** This is an **individual** IETF Internet-Draft, not a Working
45
+ > Group document, and not an RFC.
46
+
47
+ ## The `cll` package
48
+
49
+ `cll` is the reference implementation of this spec: a Python package
50
+ shipping the pieces a CLL producer or verifier needs.
51
+
52
+ ```sh
53
+ pip install checkpointed-local-log
54
+ ```
55
+
56
+ What it ships:
57
+
58
+ - **Append-only log store** (`cll.ledger`) — JSONL segments plus a derived
59
+ SQLite index, the three-state admission contract, and hash-chain /
60
+ chain-gap detection.
61
+ - **Merkle Mountain Range (MMR)** (`cll.checkpoint.core`/`.index`/`.store`) —
62
+ the pure position math, domain-separated hashing, and inclusion/consistency
63
+ proofs this spec's checkpoints commit to.
64
+ - **Signed COSE checkpoints** (`cll.checkpoint.emit`/`.cose_wire`) —
65
+ building, signing, and registering checkpoints with a Transparency Service
66
+ over the COSE_Sign1 wire form this spec defines.
67
+ - **Disclosure bundles** (`cll.checkpoint.bundle`) — the record/range-level,
68
+ offline-verifiable evidence package (inclusion proof + covering checkpoint
69
+ + witness stamp + consistency proof) for handing one log record to a
70
+ stranger.
71
+
72
+ See [`docs/module-map.md`](docs/module-map.md) for the section-by-section map
73
+ from this spec to the package's modules.
74
+
75
+ ## Building the draft
76
+
77
+ The build toolchain is [`kramdown-rfc`](https://github.com/cabo/kramdown-rfc)
78
+ (Markdown → RFCXML v2) and [`xml2rfc`](https://pypi.org/project/xml2rfc/)
79
+ (v2 → v3 → text):
80
+
81
+ ```sh
82
+ cd spec
83
+ make DRAFT=draft-mih-scitt-checkpointed-local-log-00 \
84
+ KDRFC=kramdown-rfc2629 \
85
+ XML2RFC=xml2rfc \
86
+ draft-mih-scitt-checkpointed-local-log-00.xml \
87
+ draft-mih-scitt-checkpointed-local-log-00.txt
88
+ ```
89
+
90
+ `spec/.refcache/` is committed so the build never depends on `bib.ietf.org`
91
+ being reachable. See comments in `spec/Makefile` for `rebuild` and
92
+ `refresh-refs` targets.
93
+
94
+ ## License
95
+
96
+ See [LICENSE](LICENSE): the specification text is governed by
97
+ [BCP 78](https://www.rfc-editor.org/info/bcp78) and the IETF Trust's Legal
98
+ Provisions; code and reference material are under the Revised BSD License.
@@ -0,0 +1,24 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ checkpointed_local_log.egg-info/PKG-INFO
5
+ checkpointed_local_log.egg-info/SOURCES.txt
6
+ checkpointed_local_log.egg-info/dependency_links.txt
7
+ checkpointed_local_log.egg-info/requires.txt
8
+ checkpointed_local_log.egg-info/top_level.txt
9
+ cll/__init__.py
10
+ cll/revocation.py
11
+ cll/signing.py
12
+ cll/checkpoint/__init__.py
13
+ cll/checkpoint/bundle.py
14
+ cll/checkpoint/core.py
15
+ cll/checkpoint/cose_wire.py
16
+ cll/checkpoint/emit.py
17
+ cll/checkpoint/index.py
18
+ cll/checkpoint/store.py
19
+ cll/ledger/__init__.py
20
+ cll/ledger/admission.py
21
+ cll/ledger/api.py
22
+ cll/ledger/checkpoint.py
23
+ cll/ledger/records.py
24
+ cll/ledger/store.py
@@ -0,0 +1,8 @@
1
+ cbor2>=5.5
2
+ scitt-cose>=0.2.0
3
+ agent-action-capsule>=0.2.0
4
+ cryptography>=42.0
5
+
6
+ [dev]
7
+ pytest>=7.0
8
+ ruff<0.16,>=0.4
@@ -0,0 +1,24 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ """``cll`` -- Checkpointed Local Log: the reference library for
3
+ ``draft-mih-scitt-checkpointed-local-log`` (see ``../spec/``).
4
+
5
+ Two subpackages, imported explicitly (this top level stays empty so a bare
6
+ ``import cll`` never pays for either):
7
+
8
+ - ``cll.checkpoint`` -- the MMR/checkpoint/COSE core: pure position math,
9
+ domain-separated hashing, inclusion/consistency proofs, COSE_Sign1
10
+ checkpoint wire format, Transparency Service registration, and the
11
+ record/range-level disclosure-bundle primitive. Content-agnostic — knows
12
+ nothing about capsules or any other record shape.
13
+ - ``cll.ledger`` -- an append-only log store (JSONL segments + SQLite
14
+ index), its read/query API, the three-state admission contract, and
15
+ chain-gap detection. This binding is capsule-shaped today (it verifies
16
+ Agent Action Capsules specifically) — a content-agnostic log store is a
17
+ possible future direction, not a claim this package makes yet.
18
+
19
+ Neither subpackage names a product, a company, or a capsule format in its
20
+ own vocabulary — the log layer is deliberately not capsule-specific (the
21
+ same layering law as ``scitt-cose``: capsule semantics never enter it).
22
+ Downstream capsule-shaped consumers (``capsule-emit``, ``capsule-ledger``)
23
+ depend on this package rather than each forking their own copy.
24
+ """
@@ -0,0 +1,149 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ """``cll.checkpoint`` -- the MMR/checkpoint/COSE core of Checkpointed Local Log.
3
+
4
+ ``core`` is the pure MMR algorithm (position math, domain-separated hashing,
5
+ inclusion/consistency proofs, no I/O). ``store`` is the v0 in-memory node
6
+ backing. ``index`` wires the MMR to any append-only log exposing the
7
+ ``LogSource`` shape (append/scan/fetch/find_gaps/verify) -- structurally, not
8
+ by importing a concrete implementation. ``emit`` builds, signs, and registers
9
+ peaks checkpoints against a Transparency Service. ``bundle`` assembles a
10
+ standalone, offline-verifiable evidence package for one log record.
11
+
12
+ This subpackage is content-agnostic: nothing here knows what a "capsule" is.
13
+ A caller identifies leaves by whatever field name its own record shape uses
14
+ (``bundle()``'s ``id_field``); ``index.LogSource`` is a structural protocol,
15
+ not a capsule-specific binding.
16
+
17
+ **History.** Originally built inside ``capsule-emit`` (ported there from
18
+ ``capsule-ledger/capsule_ledger/mmr/{core,index,store}.py`` per Amendment E,
19
+ 2026-08-21, on the reasoning that the CLL core is substrate a counterparty
20
+ needs to verify a log, so it should live where any consumer can depend on
21
+ it without forking). Graduated to this repo as the ``cll`` package per the
22
+ W3 one-neutral-library-per-spec decision (2026-09-01): the log layer is
23
+ deliberately NOT capsule-specific -- that is its adoption story (e.g. a
24
+ trace registry running this exact mechanism over TRACE records) -- so it
25
+ does not live under a ``capsule-*``-branded name. ``capsule-emit`` now
26
+ depends on this package and re-exports ``capsule_emit.checkpoint`` /
27
+ ``capsule_emit.bundle`` as thin compatibility wrappers over it.
28
+ """
29
+ from .bundle import Bundle, BundleError, bundle, verify_bundle_log_integrity
30
+ from .core import (
31
+ ConsistencyProof,
32
+ InclusionProof,
33
+ IntegrityError,
34
+ InvalidArgumentError,
35
+ add_leaf,
36
+ commitment_object,
37
+ consistency_proof,
38
+ height_at,
39
+ interior_hash,
40
+ leaf_count,
41
+ leaf_hash,
42
+ leaf_index_to_pos,
43
+ node_count,
44
+ peaks,
45
+ pos_to_leaf_index,
46
+ root_from_peaks,
47
+ verify_consistency,
48
+ verify_inclusion,
49
+ )
50
+ from .cose_wire import (
51
+ CLL_CHECKPOINT_CONTENT_TYPE,
52
+ WIRE_KIND,
53
+ CoseCheckpointVerification,
54
+ DecodedCheckpointCose,
55
+ checkpoint_to_cose,
56
+ encode_checkpoint_claims,
57
+ verify_checkpoint_cose_offline,
58
+ )
59
+ from .emit import (
60
+ DEFAULT_TS_PUBLIC_KEY_ID,
61
+ DEFAULT_TS_PUBLIC_KEY_PEM,
62
+ DEFAULT_TS_URL,
63
+ EXAMPLE_CONFIG_TOML,
64
+ STUB_MARKER,
65
+ STUB_TS_URL,
66
+ CheckpointConfig,
67
+ CheckpointError,
68
+ CheckpointRecord,
69
+ Grade,
70
+ RollbackError,
71
+ Signer,
72
+ StampVerdict,
73
+ WitnessRecord,
74
+ due_for_checkpoint,
75
+ emit_checkpoint,
76
+ lag_exceeded,
77
+ register_checkpoint,
78
+ register_checkpoint_stub,
79
+ verify_checkpoint_consistency,
80
+ verify_checkpoint_signature,
81
+ verify_checkpoint_signature_offline,
82
+ verify_receipt_offline,
83
+ verify_witness_stamp_offline,
84
+ verify_witness_stamp_tristate,
85
+ )
86
+ from .index import LogSource, MmrLedger, RangeProof, verify_range
87
+ from .store import MemoryNodeStore
88
+
89
+ __all__ = [
90
+ "Bundle",
91
+ "BundleError",
92
+ "bundle",
93
+ "verify_bundle_log_integrity",
94
+ "CLL_CHECKPOINT_CONTENT_TYPE",
95
+ "WIRE_KIND",
96
+ "CoseCheckpointVerification",
97
+ "DecodedCheckpointCose",
98
+ "checkpoint_to_cose",
99
+ "encode_checkpoint_claims",
100
+ "verify_checkpoint_cose_offline",
101
+ "ConsistencyProof",
102
+ "InclusionProof",
103
+ "IntegrityError",
104
+ "InvalidArgumentError",
105
+ "add_leaf",
106
+ "commitment_object",
107
+ "consistency_proof",
108
+ "height_at",
109
+ "interior_hash",
110
+ "leaf_count",
111
+ "leaf_hash",
112
+ "leaf_index_to_pos",
113
+ "node_count",
114
+ "peaks",
115
+ "pos_to_leaf_index",
116
+ "root_from_peaks",
117
+ "verify_consistency",
118
+ "verify_inclusion",
119
+ "LogSource",
120
+ "MmrLedger",
121
+ "RangeProof",
122
+ "verify_range",
123
+ "MemoryNodeStore",
124
+ "DEFAULT_TS_URL",
125
+ "DEFAULT_TS_PUBLIC_KEY_PEM",
126
+ "DEFAULT_TS_PUBLIC_KEY_ID",
127
+ "EXAMPLE_CONFIG_TOML",
128
+ "STUB_MARKER",
129
+ "STUB_TS_URL",
130
+ "CheckpointConfig",
131
+ "CheckpointError",
132
+ "CheckpointRecord",
133
+ "Grade",
134
+ "RollbackError",
135
+ "Signer",
136
+ "StampVerdict",
137
+ "WitnessRecord",
138
+ "due_for_checkpoint",
139
+ "emit_checkpoint",
140
+ "lag_exceeded",
141
+ "register_checkpoint",
142
+ "register_checkpoint_stub",
143
+ "verify_checkpoint_consistency",
144
+ "verify_checkpoint_signature",
145
+ "verify_checkpoint_signature_offline",
146
+ "verify_receipt_offline",
147
+ "verify_witness_stamp_offline",
148
+ "verify_witness_stamp_tristate",
149
+ ]