com.publicdomainrelay.temp.market.accept
Schema Diff
+12 -3
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 5 non-breaking changes.
Breaking Changes (2)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.publicdomainrelay.temp.market.accept:body", src: "com.publicdomainrelay.temp.market.accept:body", tgt: "com.publicdomainrelay.temp.market.accept:body.signatures", kind: "prop", name: Some("signatures") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "com.publicdomainrelay.temp.market.accept:body", src: "com.publicdomainrelay.temp.market.accept:body", tgt: "com.publicdomainrelay.temp.market.accept:body.payload", kind: "prop", name: Some("payload") }
Non-Breaking Changes (5)
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.accept:body.signatures" }
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.accept:body.submitEvent" }
- AddedVertex AddedVertex { vertex_id: "network.attested.signature#signatures" }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.market.accept:body", tgt: "com.publicdomainrelay.temp.market.accept:body.submitEvent", kind: "prop", name: Some("submitEvent") }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.market.accept:body.signatures", tgt: "network.attested.signature#signatures", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.accept:body.signatures" }AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.accept:body.submitEvent" }AddedVertex { vertex_id: "network.attested.signature#signatures" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "com.publicdomainrelay.temp.market.accept:body", src: "com.publicdomainrelay.temp.market.accept:body", tgt: "com.publicdomainrelay.temp.market.accept:body.signatures", kind: "prop", name: Some("signatures") }
- Breaking: RequiredEdgeRemoved { vertex_id: "com.publicdomainrelay.temp.market.accept:body", src: "com.publicdomainrelay.temp.market.accept:body", tgt: "com.publicdomainrelay.temp.market.accept:body.payload", kind: "prop", name: Some("payload") }
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.market.accept:body", tgt: "com.publicdomainrelay.temp.market.accept:body.submitEvent", kind: "prop", name: Some("submitEvent") }
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.market.accept:body.signatures", tgt: "network.attested.signature#signatures", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Acceptance of a bid on an RFP",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"bid": {
10
-
"description": "Strong reference to the bid record (for example a com.publicdomainrelay.temp.bid.x402).",
10
+
"description": "Strong reference to the bid record (for example a com.publicdomainrelay.temp.market.bid.x402).",
11
11
"ref": "com.atproto.repo.strongRef",
12
12
"type": "ref"
13
13
},
14
14
"payload": {
15
-
"description": "Strong reference to the accept record (for example a com.publicdomainrelay.temp.accept.x402).",
15
+
"description": "Strong reference to the proof-of-payment record returned by the bid's payment flow (for example a com.publicdomainrelay.temp.market.receipts.x402 obtained from the x402 GET against the bids.x402 url). The bidder verifies this before provisioning.",
16
16
"ref": "com.atproto.repo.strongRef",
17
17
"type": "ref"
18
18
},
19
19
"rfp": {
20
20
"description": "Strong reference to the rfp record (for example a com.publicdomainrelay.temp.market.rfp).",
21
21
"ref": "com.atproto.repo.strongRef",
22
22
"type": "ref"
23
+
},
24
+
"signatures": {
25
+
"description": "badge.blue attestations over this accept. Must include the requester's inline signature, attached at creation. The bidder's side of the bilateral agreement is its proof-of-settlement record (the accept's payload) and the market.receipt it mints on submitAccept, both of which are badge.blue remote attestations bound to this record.",
26
+
"ref": "network.attested.signature#signatures",
27
+
"type": "ref"
28
+
},
29
+
"submitEvent": {
30
+
"description": "Service DID reference (did:web:HOST#compute_event) of the RFP issuer's compute-event service. Optional; bypasses the need for events to be seen in the firehose. The counterparty calls com.publicdomainrelay.temp.market.submitEvent via PDS service-proxying using this value as the atproto-proxy target.",
31
+
"type": "string"
23
32
}
24
33
},
25
34
"required": [
26
35
"rfp",
27
36
"bid",
28
-
"payload"
37
+
"signatures"
29
38
],
30
39
"type": "object"
31
40
},
32
41
"type": "record"
33
42
}
34
43
},
35
44
"id": "com.publicdomainrelay.temp.market.accept",
36
45
"lexicon": 1
37
46
}