v1.10.0: MMUR2 signed claims (claims feature), DiscoveryRecord/EnrichPatch carry claims, meta-core writes post signed claims

This commit is contained in:
Worph
2026-10-25 17:14:06 +00:00
parent 01cc4e15a5
commit f804d3adb1
9 changed files with 864 additions and 30 deletions
+16 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "meta-feeder-sdk"
version = "1.9.0"
version = "1.10.0"
edition = "2021"
rust-version = "1.85"
license = "MIT"
@@ -37,7 +37,7 @@ default = ["feeder"]
# FeederPlugin trait, hashing, the redb cache, the axum harness. On by default
# so existing consumers build exactly what they always did.
feeder = [
"beacon", "filename",
"beacon", "filename", "claims",
"dep:axum", "dep:hyper", "dep:reqwest", "dep:base64", "dep:futures",
"dep:async-trait", "dep:anyhow", "dep:thiserror", "dep:sha2", "dep:bytes",
"dep:redb",
@@ -56,6 +56,15 @@ beacon = ["dep:libc"]
transport = ["feeder", "dep:cid", "dep:tokio-util"]
# Conformance checks any transport implementation must pass.
testkit = ["transport"]
# MMUR2 signed claims (`src/claims.rs`): the `SignedClaim` type, its canonical
# bytes, signing (k256, compact low-S), verification and the writer key
# (`METAMESH_SIGNING_KEY` / `_FILE`). `feeder` enables it because the gateway
# wire (`DiscoveryRecord`, `EnrichPatch`) carries claims; a meta-* service that
# only needs claims takes `default-features = false, features = ["claims"]`.
claims = [
"dep:k256", "dep:bs58", "dep:sha2", "dep:base64", "dep:rand_core",
"dep:anyhow", "dep:thiserror",
]
[dependencies]
# Async runtime + HTTP server (the serve_feeders harness)
@@ -80,6 +89,11 @@ bytes = { version = "1", optional = true }
# Title-tag parsing (shared filename_meta — season/episode/quality/codec/languages).
regex = { version = "1", optional = true }
# MMUR2 claims (the `claims` feature).
k256 = { version = "0.13", features = ["ecdsa", "std"], optional = true }
bs58 = { version = "0.5", optional = true }
rand_core = { version = "0.6", features = ["getrandom"], optional = true }
# Per-plugin midhash/blob cache. Schema is identical to meta-share v1 — see
# cache.rs. Pure-Rust single-process embedded store.
redb = { version = "2", optional = true }