com.publicdomainrelay.temp.market.submitBid
Schema Diff
+6 -5
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 3 non-breaking changes.
Breaking Changes (3)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.publicdomainrelay.temp.market.submitBid:input", src: "com.publicdomainrelay.temp.market.submitBid:input", tgt: "com.publicdomainrelay.temp.market.submitBid:input.record", kind: "prop", name: Some("record") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "com.publicdomainrelay.temp.market.submitBid:input", src: "com.publicdomainrelay.temp.market.submitBid:input", tgt: "com.publicdomainrelay.temp.market.submitBid:input.rfpUri", kind: "prop", name: Some("rfpUri") }
- RemovedVertex RemovedVertex { vertex_id: "com.publicdomainrelay.temp.market.submitBid:input.rfpUri" }
Non-Breaking Changes (3)
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.bid" }
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.submitBid:input.record" }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.market.submitBid:input.record", tgt: "com.publicdomainrelay.temp.market.bid", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "com.publicdomainrelay.temp.market.submitBid:input.rfpUri" }
Added Elements
AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.bid" }AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.submitBid:input.record" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "com.publicdomainrelay.temp.market.submitBid:input", src: "com.publicdomainrelay.temp.market.submitBid:input", tgt: "com.publicdomainrelay.temp.market.submitBid:input.record", kind: "prop", name: Some("record") }
- Breaking: RequiredEdgeRemoved { vertex_id: "com.publicdomainrelay.temp.market.submitBid:input", src: "com.publicdomainrelay.temp.market.submitBid:input", tgt: "com.publicdomainrelay.temp.market.submitBid:input.rfpUri", kind: "prop", name: Some("rfpUri") }
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.market.submitBid:input.record", tgt: "com.publicdomainrelay.temp.market.bid", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Submit the AT-URI and CID of a bid record directly to the RFP issuer, bypassing the firehose. Used when the RFP includes a sendBid endpoint.",
5
+
"description": "Submit the AT-URI and CID of a bid record directly to the RFP issuer, bypassing the firehose. Used when the RFP includes a submitBid service DID reference. Must be called via PDS service-proxying (atproto-proxy); the receiver verifies the inter-service auth JWT and requires its issuer to be the DID that authored the referenced bid record. The receiver additionally verifies the bid's badge.blue attestations (network.attested.signature): at least one inline signature must verify against the attestation CID recomputed for the record in its authoring repository — the same durable, replayable check applied to bids discovered via the firehose, where no service-auth JWT exists.",
6
6
"errors": [
7
7
{
8
8
"name": "InvalidRequest"
9
9
}
10
10
],
11
11
"input": {
12
12
"encoding": "application/json",
13
13
"schema": {
14
14
"properties": {
15
15
"cid": {
16
16
"description": "CID of the bid record.",
17
17
"type": "string"
18
18
},
19
-
"rfpUri": {
20
-
"description": "AT-URI of the RFP this bid is for.",
21
-
"type": "string"
19
+
"record": {
20
+
"description": "The bid record itself, including a strong reference to the RFP it is for.",
21
+
"ref": "com.publicdomainrelay.temp.market.bid",
22
+
"type": "ref"
22
23
},
23
24
"uri": {
24
25
"description": "AT-URI of the bid record.",
25
26
"type": "string"
26
27
}
27
28
},
28
29
"required": [
29
30
"uri",
30
31
"cid",
31
-
"rfpUri"
32
+
"record"
32
33
],
33
34
"type": "object"
34
35
}
35
36
},
36
37
"output": {
37
38
"encoding": "application/json",
38
39
"schema": {
39
40
"properties": {
40
41
"ok": {
41
42
"type": "boolean"
42
43
}
43
44
},
44
45
"required": [
45
46
"ok"
46
47
],
47
48
"type": "object"
48
49
}
49
50
},
50
51
"type": "procedure"
51
52
}
52
53
},
53
54
"id": "com.publicdomainrelay.temp.market.submitBid",
54
55
"lexicon": 1
55
56
}