Draft 0.5: identity/registry spec; Phase A signed MA registry, mailbox challenge auth, key rotation, skew rejection

This commit is contained in:
George Coles
2026-09-15 05:45:02 -04:00
parent fb45cfa8cf
commit 559c260639
18 changed files with 1526 additions and 105 deletions
+7 -15
View File
@@ -143,7 +143,7 @@ async fn no_protocol_query_dedup() {
.status()
.is_success()
);
let response = poll(&http, &relay_url, &key.public_hex(), 300).await;
let response = poll(&http, &relay_url, &key, 300).await;
let payload: Value = response.json().await.unwrap();
assert_eq!(
payload
@@ -242,9 +242,7 @@ async fn no_aggregate_appeals() {
);
assert_eq!(
poll(&http, &relay_url, &member.public_hex(), 30)
.await
.status(),
poll(&http, &relay_url, &member, 30).await.status(),
reqwest::StatusCode::NO_CONTENT
);
let aggregate = Envelope::new(
@@ -299,15 +297,11 @@ async fn no_topic_channels() {
let alice = Keypair::generate();
let bob = Keypair::generate();
assert_eq!(
poll(&http, &relay_url, &alice.public_hex(), 30)
.await
.status(),
poll(&http, &relay_url, &alice, 30).await.status(),
reqwest::StatusCode::NO_CONTENT
);
assert_eq!(
poll(&http, &relay_url, &bob.public_hex(), 30)
.await
.status(),
poll(&http, &relay_url, &bob, 30).await.status(),
reqwest::StatusCode::NO_CONTENT
);
let envelope = Envelope::new(
@@ -322,7 +316,7 @@ async fn no_topic_channels() {
.is_success()
);
for member in [&alice, &bob] {
let response = poll(&http, &relay_url, &member.public_hex(), 300).await;
let response = poll(&http, &relay_url, &member, 300).await;
let payload: Value = response.json().await.unwrap();
assert_eq!(
payload
@@ -422,7 +416,7 @@ async fn no_durable_replayable_broadcast_stream() {
.is_success()
);
let response = poll(&http, &relay_url, &key.public_hex(), 300).await;
let response = poll(&http, &relay_url, &key, 300).await;
let payload: Value = response.json().await.unwrap();
assert_eq!(
payload
@@ -433,9 +427,7 @@ async fn no_durable_replayable_broadcast_stream() {
);
assert_eq!(
poll(&http, &relay_url, &key.public_hex(), 50)
.await
.status(),
poll(&http, &relay_url, &key, 50).await.status(),
reqwest::StatusCode::NO_CONTENT,
"relay replayed a drained message"
);