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
+6 -6
View File
@@ -101,8 +101,8 @@ async fn multi_relay_deduplicates_and_responds_once() {
let http = client();
let alice = Keypair::generate();
register(&http, &relay_one, &alice.public_hex()).await;
register(&http, &relay_two, &alice.public_hex()).await;
register(&http, &relay_one, &alice).await;
register(&http, &relay_two, &alice).await;
let envelope = query_envelope(&alice, "rust", 5);
assert!(
publish(&http, &relay_one, &envelope)
@@ -121,7 +121,7 @@ async fn multi_relay_deduplicates_and_responds_once() {
let mut responses = Vec::new();
while responses.is_empty() && Instant::now() < deadline {
for relay in [&relay_one, &relay_two] {
let messages = poll_messages(&http, relay, &alice.public_hex(), 200).await;
let messages = poll_messages(&http, relay, &alice, 200).await;
responses.extend(
messages
.iter()
@@ -190,7 +190,7 @@ async fn poll_returns_queued_batch_in_one_call() {
let relay_url = spawn_relay().await;
let http = client();
let member = Keypair::generate();
register(&http, &relay_url, &member.public_hex()).await;
register(&http, &relay_url, &member).await;
for index in 0..3 {
let envelope = query_envelope(&member, &format!("query {index}"), 5);
assert!(
@@ -200,10 +200,10 @@ async fn poll_returns_queued_batch_in_one_call() {
.is_success()
);
}
let messages = poll_messages(&http, &relay_url, &member.public_hex(), 300).await;
let messages = poll_messages(&http, &relay_url, &member, 300).await;
assert_eq!(messages.len(), 3);
assert!(
poll_messages(&http, &relay_url, &member.public_hex(), 50)
poll_messages(&http, &relay_url, &member, 50)
.await
.is_empty()
);