@exowarexyz/qmdb
v2026.9.0
Published
Browser client for the ordered Exoware QMDB proof API.
Readme
@exowarexyz/qmdb
Browser client for the QMDB ConnectRPC proof API.
This package:
- calls
qmdb.v1.KeyLookupService,qmdb.v1.OrderedKeyRangeService,qmdb.v1.OperationLogService, andqmdb.v1.CurrentOperationServiceover Connect-Web - verifies
get,getMany,getRange,getOperationRange,getCurrentOperationRange, andsubscribeproofs for MMR or MMB through a small WASM module - exposes
QmdbOperationLogClientfor backend-agnostic historical operation-log proofs, including fixed keyless appends and fixed unordered updates - supports
exact,prefix, andregexsubscription matchers
Proof verification is root-driven: callers supply the current/global root for
current-boundary-backed services. Operation-log-only backends are a separate
contract and use a trusted operation-log root. The client is configured with a
Merkle family (mmr by default) and uses that for all proof decoding and
verification.
Operation range verification binds the exact requested start, count, and tip.
Key ranges enforce linear ordering, bounds, and pagination. Absolute positions
use bigint. Batch limits and WASM byte-size arguments must fit their unsigned
32-bit representation.
Subscription decoding checks internal proof consistency. Compare the returned
root with an independently trusted root for the frame tip before using its
operations. A server-provided root is not a trust anchor. sha256 and blake3
provide cryptographic hashing. crc32c is a checksum mode for accidental
corruption and is unsuitable for authenticating an untrusted proof provider.
