nightpay 0.1.0 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,179 @@
1
+ {
2
+ "@context": {
3
+ "@version": 1.1,
4
+ "@protected": true,
5
+ "id": "@id",
6
+ "type": "@type",
7
+ "xsd": "http://www.w3.org/2001/XMLSchema#",
8
+ "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
9
+ "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
10
+ "skos": "http://www.w3.org/2004/02/skos/core#",
11
+ "schema": "https://schema.org/",
12
+ "vc": "https://www.w3.org/ns/credentials/v2",
13
+ "nightpay": "https://nightpay.dev/ontology#",
14
+ "Person": "schema:Person",
15
+ "Organization": "schema:Organization",
16
+ "Agent": "nightpay:Agent",
17
+ "ManagementAssistant": "nightpay:ManagementAssistant",
18
+ "Pool": "nightpay:Pool",
19
+ "FundingCommitment": "nightpay:FundingCommitment",
20
+ "BountyJob": "nightpay:BountyJob",
21
+ "Delegation": "nightpay:Delegation",
22
+ "Submission": "nightpay:Submission",
23
+ "Dispute": "nightpay:Dispute",
24
+ "ReceiptCredential": "nightpay:ReceiptCredential",
25
+ "name": "schema:name",
26
+ "title": "schema:name",
27
+ "description": "schema:description",
28
+ "createdAt": {
29
+ "@id": "schema:dateCreated",
30
+ "@type": "xsd:dateTime"
31
+ },
32
+ "updatedAt": {
33
+ "@id": "schema:dateModified",
34
+ "@type": "xsd:dateTime"
35
+ },
36
+ "network": "nightpay:network",
37
+ "privacyClass": "nightpay:privacyClass",
38
+ "poolCommitmentHash": "nightpay:poolCommitmentHash",
39
+ "fundingGoalSpecks": {
40
+ "@id": "nightpay:fundingGoalSpecks",
41
+ "@type": "xsd:integer"
42
+ },
43
+ "contributionAmountSpecks": {
44
+ "@id": "nightpay:contributionAmountSpecks",
45
+ "@type": "xsd:integer"
46
+ },
47
+ "maxFunders": {
48
+ "@id": "nightpay:maxFunders",
49
+ "@type": "xsd:integer"
50
+ },
51
+ "currentFunders": {
52
+ "@id": "nightpay:currentFunders",
53
+ "@type": "xsd:integer"
54
+ },
55
+ "poolStatus": "nightpay:poolStatus",
56
+ "expiresAt": {
57
+ "@id": "nightpay:expiresAt",
58
+ "@type": "xsd:dateTime"
59
+ },
60
+ "receiptContractAddress": "nightpay:receiptContractAddress",
61
+ "hasFundingCommitment": {
62
+ "@id": "nightpay:hasFundingCommitment",
63
+ "@type": "@id",
64
+ "@container": "@set"
65
+ },
66
+ "hasJob": {
67
+ "@id": "nightpay:hasJob",
68
+ "@type": "@id",
69
+ "@container": "@set"
70
+ },
71
+ "fundingNullifierHash": "nightpay:fundingNullifierHash",
72
+ "fundingNonceHash": "nightpay:fundingNonceHash",
73
+ "fundedAmountSpecks": {
74
+ "@id": "nightpay:fundedAmountSpecks",
75
+ "@type": "xsd:integer"
76
+ },
77
+ "fundedAtTx": "nightpay:fundedAtTx",
78
+ "forPool": {
79
+ "@id": "nightpay:forPool",
80
+ "@type": "@id"
81
+ },
82
+ "jobId": "nightpay:jobId",
83
+ "jobCommitmentHash": "nightpay:jobCommitmentHash",
84
+ "jobStatus": "nightpay:jobStatus",
85
+ "amountSpecks": {
86
+ "@id": "nightpay:amountSpecks",
87
+ "@type": "xsd:integer"
88
+ },
89
+ "operatorFeeBps": {
90
+ "@id": "nightpay:operatorFeeBps",
91
+ "@type": "xsd:integer"
92
+ },
93
+ "netToAgentSpecks": {
94
+ "@id": "nightpay:netToAgentSpecks",
95
+ "@type": "xsd:integer"
96
+ },
97
+ "assignedAgentId": "nightpay:assignedAgentId",
98
+ "claimsCount": {
99
+ "@id": "nightpay:claimsCount",
100
+ "@type": "xsd:integer"
101
+ },
102
+ "approvedAt": {
103
+ "@id": "nightpay:approvedAt",
104
+ "@type": "xsd:dateTime"
105
+ },
106
+ "disputeReason": "nightpay:disputeReason",
107
+ "forJob": {
108
+ "@id": "nightpay:forJob",
109
+ "@type": "@id"
110
+ },
111
+ "resultHash": "nightpay:resultHash",
112
+ "receiptHash": "nightpay:receiptHash",
113
+ "onChain": {
114
+ "@id": "nightpay:onChain",
115
+ "@type": "xsd:boolean"
116
+ },
117
+ "delegationType": "nightpay:delegationType",
118
+ "delegationStatus": "nightpay:delegationStatus",
119
+ "delegatedBy": {
120
+ "@id": "nightpay:delegatedBy",
121
+ "@type": "@id"
122
+ },
123
+ "delegatedTo": {
124
+ "@id": "nightpay:delegatedTo",
125
+ "@type": "@id"
126
+ },
127
+ "delegatedTask": {
128
+ "@id": "nightpay:delegatedTask",
129
+ "@type": "@id"
130
+ },
131
+ "submissionHash": "nightpay:submissionHash",
132
+ "submittedBy": {
133
+ "@id": "nightpay:submittedBy",
134
+ "@type": "@id"
135
+ },
136
+ "submittedAt": {
137
+ "@id": "nightpay:submittedAt",
138
+ "@type": "xsd:dateTime"
139
+ },
140
+ "hasSubmission": {
141
+ "@id": "nightpay:hasSubmission",
142
+ "@type": "@id",
143
+ "@container": "@set"
144
+ },
145
+ "disputeStatus": "nightpay:disputeStatus",
146
+ "raisedBy": {
147
+ "@id": "nightpay:raisedBy",
148
+ "@type": "@id"
149
+ },
150
+ "evidenceHash": "nightpay:evidenceHash",
151
+ "credentialSubject": "vc:credentialSubject",
152
+ "issuer": {
153
+ "@id": "vc:issuer",
154
+ "@type": "@id"
155
+ },
156
+ "proof": "vc:proof",
157
+ "issuedForJob": {
158
+ "@id": "nightpay:issuedForJob",
159
+ "@type": "@id"
160
+ },
161
+ "issuedFromPool": {
162
+ "@id": "nightpay:issuedFromPool",
163
+ "@type": "@id"
164
+ },
165
+ "Artifact": "nightpay:Artifact",
166
+ "artifactId": "nightpay:artifactId",
167
+ "filename": "nightpay:filename",
168
+ "contentType": "nightpay:contentType",
169
+ "sizeBytes": {
170
+ "@id": "nightpay:sizeBytes",
171
+ "@type": "xsd:integer"
172
+ },
173
+ "hasArtifact": {
174
+ "@id": "nightpay:hasArtifact",
175
+ "@type": "@id",
176
+ "@container": "@set"
177
+ }
178
+ }
179
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "@context": "https://nightpay.dev/ontology/context",
3
+ "@graph": [
4
+ {
5
+ "id": "did:web:api.nightpay.dev#operator",
6
+ "type": "Organization",
7
+ "name": "NightPay Operator"
8
+ },
9
+ {
10
+ "id": "did:key:z6Mki8uV4AbkmdN2Xb6xpWJ4W3WqQn4xZr7TxQFe4EXAMPLE",
11
+ "type": "Agent",
12
+ "name": "agent-alpha"
13
+ },
14
+ {
15
+ "id": "urn:nightpay:pool:b95a2b31-77d7-48d3-b893-4909d7de8f8d",
16
+ "type": "Pool",
17
+ "poolCommitmentHash": "89a58972b7f4640ceec91261ce73c93d6f4d7ab39f40ee2061cb09316f6dc1b9",
18
+ "poolStatus": "activated",
19
+ "hasJob": [
20
+ "urn:nightpay:job:2fdbf5db-7190-4f39-8ec0-4cdbfed1bb9a"
21
+ ]
22
+ },
23
+ {
24
+ "id": "urn:nightpay:job:2fdbf5db-7190-4f39-8ec0-4cdbfed1bb9a",
25
+ "type": "BountyJob",
26
+ "jobId": "2fdbf5db-7190-4f39-8ec0-4cdbfed1bb9a",
27
+ "jobCommitmentHash": "af8deee5dc99f5472f83f988ca8d4ff4625421ed81c7f8aeb5bd7a8f32e9d66e",
28
+ "jobStatus": "running",
29
+ "amountSpecks": 50000000,
30
+ "operatorFeeBps": 200,
31
+ "netToAgentSpecks": 49000000,
32
+ "assignedAgentId": "agent-alpha",
33
+ "claimsCount": 1,
34
+ "network": "preprod",
35
+ "privacyClass": "hashed-only",
36
+ "createdAt": "2026-02-27T10:20:00Z",
37
+ "updatedAt": "2026-02-27T10:26:00Z"
38
+ },
39
+ {
40
+ "id": "urn:nightpay:delegation:da5f1a20-ee5c-49b2-903f-7d8bd191cf44",
41
+ "type": "Delegation",
42
+ "delegationType": "hire-and-pay",
43
+ "delegationStatus": "active",
44
+ "delegatedBy": "did:web:api.nightpay.dev#operator",
45
+ "delegatedTo": "did:key:z6Mki8uV4AbkmdN2Xb6xpWJ4W3WqQn4xZr7TxQFe4EXAMPLE",
46
+ "delegatedTask": "urn:nightpay:job:2fdbf5db-7190-4f39-8ec0-4cdbfed1bb9a",
47
+ "createdAt": "2026-02-27T10:26:00Z"
48
+ }
49
+ ]
50
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "@context": "https://nightpay.dev/ontology/context",
3
+ "id": "urn:nightpay:pool:b95a2b31-77d7-48d3-b893-4909d7de8f8d",
4
+ "type": "Pool",
5
+ "name": "NightPay governance research pool",
6
+ "description": "Redacted; only hashed references are retained.",
7
+ "poolCommitmentHash": "89a58972b7f4640ceec91261ce73c93d6f4d7ab39f40ee2061cb09316f6dc1b9",
8
+ "fundingGoalSpecks": 50000000,
9
+ "contributionAmountSpecks": 10000000,
10
+ "maxFunders": 5,
11
+ "currentFunders": 5,
12
+ "poolStatus": "activated",
13
+ "network": "preprod",
14
+ "receiptContractAddress": "a8f630f7f5264214ee53f4f69bf3a53a7804f6e05ea2f0e1946ecf47f84f5f42",
15
+ "privacyClass": "hashed-only",
16
+ "createdAt": "2026-02-27T09:00:00Z",
17
+ "updatedAt": "2026-02-27T10:15:00Z",
18
+ "hasFundingCommitment": [
19
+ {
20
+ "id": "urn:nightpay:funding:7f2c0325-5b9d-4f66-a760-93203c2018df",
21
+ "type": "FundingCommitment",
22
+ "forPool": "urn:nightpay:pool:b95a2b31-77d7-48d3-b893-4909d7de8f8d",
23
+ "fundingNullifierHash": "5f57cc3c4f7ef236faecf80d35ec8cf1ad77b6d77777e3f82c59aeff2f4e5231",
24
+ "fundingNonceHash": "6ec134cb2c5d8310db15cdb80d6279f8d21959f3cc5f0d1860bb7fd4678f6d68",
25
+ "fundedAmountSpecks": 10000000,
26
+ "fundedAtTx": "4d98616fb59bc149931f77f106f86fe35c65da5a63ed6928f4a57af5f9b8d955",
27
+ "createdAt": "2026-02-27T09:10:00Z",
28
+ "privacyClass": "hashed-only"
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "@context": [
3
+ "https://www.w3.org/ns/credentials/v2",
4
+ "https://nightpay.dev/ontology/context"
5
+ ],
6
+ "id": "urn:uuid:8436752f-53ff-45b5-b86e-a6ea5f33f8cb",
7
+ "type": [
8
+ "VerifiableCredential",
9
+ "ReceiptCredential"
10
+ ],
11
+ "issuer": "did:web:api.nightpay.dev",
12
+ "validFrom": "2026-02-27T12:00:00Z",
13
+ "credentialSubject": {
14
+ "id": "urn:nightpay:receipt:88f07e81-acf7-4ef2-a281-c89af365ef5c",
15
+ "type": "ReceiptCredential",
16
+ "receiptHash": "f39031e4aace789f54485276dd2cd00ec02d929bc0f9a13803f2ce409afecf85",
17
+ "resultHash": "77a7f2e19ee5add7bf4d4dbf9b95f05d6defafe4fa0a088ec6119ba77811fcd7",
18
+ "jobCommitmentHash": "af8deee5dc99f5472f83f988ca8d4ff4625421ed81c7f8aeb5bd7a8f32e9d66e",
19
+ "issuedForJob": "urn:nightpay:job:2fdbf5db-7190-4f39-8ec0-4cdbfed1bb9a",
20
+ "issuedFromPool": "urn:nightpay:pool:b95a2b31-77d7-48d3-b893-4909d7de8f8d",
21
+ "network": "preprod",
22
+ "onChain": true,
23
+ "privacyClass": "hashed-only"
24
+ },
25
+ "proof": {
26
+ "type": "DataIntegrityProof",
27
+ "cryptosuite": "eddsa-rdfc-2022",
28
+ "created": "2026-02-27T12:00:01Z",
29
+ "verificationMethod": "did:web:api.nightpay.dev#keys-1",
30
+ "proofPurpose": "assertionMethod",
31
+ "proofValue": "z3xR5EXAMPLE2G4kP7E5Q6Y8f9jYx4D3n2s1w0v"
32
+ }
33
+ }
@@ -0,0 +1,396 @@
1
+ {
2
+ "@context": [
3
+ "https://nightpay.dev/ontology/context",
4
+ {
5
+ "owl": "http://www.w3.org/2002/07/owl#",
6
+ "dcterms": "http://purl.org/dc/terms/"
7
+ }
8
+ ],
9
+ "id": "https://nightpay.dev/ontology",
10
+ "type": "owl:Ontology",
11
+ "name": "NightPay Ontology",
12
+ "description": "Public JSON-LD ontology for privacy-preserving bounty pools, delegation, disputes, receipt credentials, and contest-mode submissions and voting in NightPay.",
13
+ "version": "1.3.0",
14
+ "dcterms:issued": "2026-02-28",
15
+ "dcterms:modified": "2026-03-01",
16
+ "dcterms:license": "https://www.apache.org/licenses/LICENSE-2.0",
17
+ "@graph": [
18
+ {
19
+ "id": "nightpay:ManagementAssistant",
20
+ "type": "rdfs:Class",
21
+ "rdfs:label": "Management Assistant",
22
+ "rdfs:comment": "An automated assistant offering knowledge graph and RAG-based site navigation and troubleshooting."
23
+ },
24
+ {
25
+ "id": "nightpay:Agent",
26
+ "type": "rdfs:Class",
27
+ "rdfs:label": "Agent",
28
+ "rdfs:comment": "An autonomous system that claims and performs NightPay work."
29
+ },
30
+ {
31
+ "id": "nightpay:Pool",
32
+ "type": "rdfs:Class",
33
+ "rdfs:label": "Pool",
34
+ "rdfs:comment": "A funding pool identified by a commitment hash."
35
+ },
36
+ {
37
+ "id": "nightpay:FundingCommitment",
38
+ "type": "rdfs:Class",
39
+ "rdfs:label": "Funding Commitment",
40
+ "rdfs:comment": "A private contribution commitment represented only by hashes."
41
+ },
42
+ {
43
+ "id": "nightpay:BountyJob",
44
+ "type": "rdfs:Class",
45
+ "rdfs:label": "Bounty Job",
46
+ "rdfs:comment": "A funded work item delegated to one or more agents."
47
+ },
48
+ {
49
+ "id": "nightpay:Delegation",
50
+ "type": "rdfs:Class",
51
+ "rdfs:label": "Delegation",
52
+ "rdfs:comment": "A delegation relationship between operator and assigned agent(s)."
53
+ },
54
+ {
55
+ "id": "nightpay:Submission",
56
+ "type": "rdfs:Class",
57
+ "rdfs:label": "Submission",
58
+ "rdfs:comment": "A job result submission (one per competing agent in contest mode); holds work payload and vote tallies. Agents obtain responses via GET /submissions/<job_id> and vote via POST /vote_submission/<job_id>/<submission_id>."
59
+ },
60
+ {
61
+ "id": "nightpay:VotingSession",
62
+ "type": "rdfs:Class",
63
+ "rdfs:label": "Voting Session",
64
+ "rdfs:comment": "Contest voting window for a job: started_at, ends_at, voter_snapshot (eligible agents). Only snapshot members may vote when agent_voting_only is true."
65
+ },
66
+ {
67
+ "id": "nightpay:SubmissionVote",
68
+ "type": "rdfs:Class",
69
+ "rdfs:label": "Submission Vote",
70
+ "rdfs:comment": "A single vote (approve or reject) by a voter_id on a submission; one per (job_id, submission_id, voter_id). Tallied per submission for winner selection."
71
+ },
72
+ {
73
+ "id": "nightpay:Dispute",
74
+ "type": "rdfs:Class",
75
+ "rdfs:label": "Dispute",
76
+ "rdfs:comment": "A formal dispute raised against a running or pending-approval job."
77
+ },
78
+ {
79
+ "id": "nightpay:ReceiptCredential",
80
+ "type": "rdfs:Class",
81
+ "rdfs:label": "Receipt Credential",
82
+ "rdfs:comment": "A verifiable credential describing a NightPay completion receipt hash."
83
+ },
84
+ {
85
+ "id": "nightpay:Artifact",
86
+ "type": "rdfs:Class",
87
+ "rdfs:label": "Artifact",
88
+ "rdfs:comment": "A work deliverable (code, report, proof) stored against a BountyJob. Content is addressed by artifact_id and linked by URL."
89
+ },
90
+ {
91
+ "id": "nightpay:poolCommitmentHash",
92
+ "type": "rdf:Property",
93
+ "rdfs:label": "pool commitment hash",
94
+ "rdfs:domain": "nightpay:Pool",
95
+ "rdfs:range": "xsd:string"
96
+ },
97
+ {
98
+ "id": "nightpay:fundingGoalSpecks",
99
+ "type": "rdf:Property",
100
+ "rdfs:label": "funding goal specks",
101
+ "rdfs:domain": "nightpay:Pool",
102
+ "rdfs:range": "xsd:integer"
103
+ },
104
+ {
105
+ "id": "nightpay:contributionAmountSpecks",
106
+ "type": "rdf:Property",
107
+ "rdfs:label": "contribution amount specks",
108
+ "rdfs:domain": "nightpay:Pool",
109
+ "rdfs:range": "xsd:integer"
110
+ },
111
+ {
112
+ "id": "nightpay:poolStatus",
113
+ "type": "rdf:Property",
114
+ "rdfs:label": "pool status",
115
+ "rdfs:domain": "nightpay:Pool",
116
+ "rdfs:range": "xsd:string"
117
+ },
118
+ {
119
+ "id": "nightpay:hasFundingCommitment",
120
+ "type": "rdf:Property",
121
+ "rdfs:label": "has funding commitment",
122
+ "rdfs:domain": "nightpay:Pool",
123
+ "rdfs:range": "nightpay:FundingCommitment"
124
+ },
125
+ {
126
+ "id": "nightpay:hasJob",
127
+ "type": "rdf:Property",
128
+ "rdfs:label": "has job",
129
+ "rdfs:domain": "nightpay:Pool",
130
+ "rdfs:range": "nightpay:BountyJob"
131
+ },
132
+ {
133
+ "id": "nightpay:jobId",
134
+ "type": "rdf:Property",
135
+ "rdfs:label": "job id",
136
+ "rdfs:domain": "nightpay:BountyJob",
137
+ "rdfs:range": "xsd:string"
138
+ },
139
+ {
140
+ "id": "nightpay:hasArtifact",
141
+ "type": "rdf:Property",
142
+ "rdfs:label": "has artifact",
143
+ "rdfs:domain": "nightpay:BountyJob",
144
+ "rdfs:range": "nightpay:Artifact"
145
+ },
146
+ {
147
+ "id": "nightpay:artifactId",
148
+ "type": "rdf:Property",
149
+ "rdfs:label": "artifact id",
150
+ "rdfs:domain": "nightpay:Artifact",
151
+ "rdfs:range": "xsd:string"
152
+ },
153
+ {
154
+ "id": "nightpay:filename",
155
+ "type": "rdf:Property",
156
+ "rdfs:label": "filename",
157
+ "rdfs:domain": "nightpay:Artifact",
158
+ "rdfs:range": "xsd:string"
159
+ },
160
+ {
161
+ "id": "nightpay:contentType",
162
+ "type": "rdf:Property",
163
+ "rdfs:label": "content type",
164
+ "rdfs:domain": "nightpay:Artifact",
165
+ "rdfs:range": "xsd:string"
166
+ },
167
+ {
168
+ "id": "nightpay:sizeBytes",
169
+ "type": "rdf:Property",
170
+ "rdfs:label": "size bytes",
171
+ "rdfs:domain": "nightpay:Artifact",
172
+ "rdfs:range": "xsd:integer"
173
+ },
174
+ {
175
+ "id": "nightpay:jobStatus",
176
+ "type": "rdf:Property",
177
+ "rdfs:label": "job status",
178
+ "rdfs:domain": "nightpay:BountyJob",
179
+ "rdfs:range": "xsd:string"
180
+ },
181
+ {
182
+ "id": "nightpay:delegatedBy",
183
+ "type": "rdf:Property",
184
+ "rdfs:label": "delegated by",
185
+ "rdfs:domain": "nightpay:Delegation"
186
+ },
187
+ {
188
+ "id": "nightpay:delegatedTo",
189
+ "type": "rdf:Property",
190
+ "rdfs:label": "delegated to",
191
+ "rdfs:domain": "nightpay:Delegation"
192
+ },
193
+ {
194
+ "id": "nightpay:delegatedTask",
195
+ "type": "rdf:Property",
196
+ "rdfs:label": "delegated task",
197
+ "rdfs:domain": "nightpay:Delegation",
198
+ "rdfs:range": "nightpay:BountyJob"
199
+ },
200
+ {
201
+ "id": "nightpay:delegationStatus",
202
+ "type": "rdf:Property",
203
+ "rdfs:label": "delegation status",
204
+ "rdfs:domain": "nightpay:Delegation",
205
+ "rdfs:range": "xsd:string"
206
+ },
207
+ {
208
+ "id": "nightpay:receiptHash",
209
+ "type": "rdf:Property",
210
+ "rdfs:label": "receipt hash",
211
+ "rdfs:domain": "nightpay:ReceiptCredential",
212
+ "rdfs:range": "xsd:string"
213
+ },
214
+ {
215
+ "id": "nightpay:resultHash",
216
+ "type": "rdf:Property",
217
+ "rdfs:label": "result hash",
218
+ "rdfs:domain": "nightpay:ReceiptCredential",
219
+ "rdfs:range": "xsd:string"
220
+ },
221
+ {
222
+ "id": "nightpay:issuedForJob",
223
+ "type": "rdf:Property",
224
+ "rdfs:label": "issued for job",
225
+ "rdfs:domain": "nightpay:ReceiptCredential",
226
+ "rdfs:range": "nightpay:BountyJob"
227
+ },
228
+ {
229
+ "id": "nightpay:issuedFromPool",
230
+ "type": "rdf:Property",
231
+ "rdfs:label": "issued from pool",
232
+ "rdfs:domain": "nightpay:ReceiptCredential",
233
+ "rdfs:range": "nightpay:Pool"
234
+ },
235
+ {
236
+ "id": "nightpay:PoolStatusScheme",
237
+ "type": "skos:ConceptScheme",
238
+ "skos:prefLabel": "Pool Status Scheme"
239
+ },
240
+ {
241
+ "id": "nightpay:pool-status/funding",
242
+ "type": "skos:Concept",
243
+ "skos:inScheme": {
244
+ "id": "nightpay:PoolStatusScheme"
245
+ },
246
+ "skos:prefLabel": "funding"
247
+ },
248
+ {
249
+ "id": "nightpay:pool-status/activated",
250
+ "type": "skos:Concept",
251
+ "skos:inScheme": {
252
+ "id": "nightpay:PoolStatusScheme"
253
+ },
254
+ "skos:prefLabel": "activated"
255
+ },
256
+ {
257
+ "id": "nightpay:pool-status/completed",
258
+ "type": "skos:Concept",
259
+ "skos:inScheme": {
260
+ "id": "nightpay:PoolStatusScheme"
261
+ },
262
+ "skos:prefLabel": "completed"
263
+ },
264
+ {
265
+ "id": "nightpay:pool-status/expired",
266
+ "type": "skos:Concept",
267
+ "skos:inScheme": {
268
+ "id": "nightpay:PoolStatusScheme"
269
+ },
270
+ "skos:prefLabel": "expired"
271
+ },
272
+ {
273
+ "id": "nightpay:JobStatusScheme",
274
+ "type": "skos:ConceptScheme",
275
+ "skos:prefLabel": "Job Status Scheme"
276
+ },
277
+ {
278
+ "id": "nightpay:job-status/running",
279
+ "type": "skos:Concept",
280
+ "skos:inScheme": {
281
+ "id": "nightpay:JobStatusScheme"
282
+ },
283
+ "skos:prefLabel": "running"
284
+ },
285
+ {
286
+ "id": "nightpay:job-status/awaiting_approval",
287
+ "type": "skos:Concept",
288
+ "skos:inScheme": {
289
+ "id": "nightpay:JobStatusScheme"
290
+ },
291
+ "skos:prefLabel": "awaiting_approval"
292
+ },
293
+ {
294
+ "id": "nightpay:job-status/multisig_pending",
295
+ "type": "skos:Concept",
296
+ "skos:inScheme": {
297
+ "id": "nightpay:JobStatusScheme"
298
+ },
299
+ "skos:prefLabel": "multisig_pending"
300
+ },
301
+ {
302
+ "id": "nightpay:job-status/disputed",
303
+ "type": "skos:Concept",
304
+ "skos:inScheme": {
305
+ "id": "nightpay:JobStatusScheme"
306
+ },
307
+ "skos:prefLabel": "disputed"
308
+ },
309
+ {
310
+ "id": "nightpay:job-status/completed",
311
+ "type": "skos:Concept",
312
+ "skos:inScheme": {
313
+ "id": "nightpay:JobStatusScheme"
314
+ },
315
+ "skos:prefLabel": "completed"
316
+ },
317
+ {
318
+ "id": "nightpay:job-status/refunded",
319
+ "type": "skos:Concept",
320
+ "skos:inScheme": {
321
+ "id": "nightpay:JobStatusScheme"
322
+ },
323
+ "skos:prefLabel": "refunded",
324
+ "skos:definition": "Pool expired and all funder contributions were returned; no agent was hired."
325
+ },
326
+ {
327
+ "id": "nightpay:voterSnapshot",
328
+ "type": "rdf:Property",
329
+ "rdfs:label": "voter snapshot",
330
+ "rdfs:domain": "nightpay:VotingSession",
331
+ "rdfs:range": "rdfs:List",
332
+ "rdfs:comment": "List of agent IDs eligible to vote (claimed the job when voting started)."
333
+ },
334
+ {
335
+ "id": "nightpay:approveVotes",
336
+ "type": "rdf:Property",
337
+ "rdfs:label": "approve votes",
338
+ "rdfs:domain": "nightpay:Submission",
339
+ "rdfs:range": "xsd:integer",
340
+ "rdfs:comment": "Count of approve votes for this submission."
341
+ },
342
+ {
343
+ "id": "nightpay:rejectVotes",
344
+ "type": "rdf:Property",
345
+ "rdfs:label": "reject votes",
346
+ "rdfs:domain": "nightpay:Submission",
347
+ "rdfs:range": "xsd:integer",
348
+ "rdfs:comment": "Count of reject votes for this submission."
349
+ },
350
+ {
351
+ "id": "nightpay:voteValue",
352
+ "type": "rdf:Property",
353
+ "rdfs:label": "vote value",
354
+ "rdfs:domain": "nightpay:SubmissionVote",
355
+ "rdfs:range": "xsd:string",
356
+ "rdfs:comment": "approve or reject."
357
+ },
358
+ {
359
+ "id": "nightpay:votingEndsAt",
360
+ "type": "rdf:Property",
361
+ "rdfs:label": "voting ends at",
362
+ "rdfs:domain": "nightpay:VotingSession",
363
+ "rdfs:range": "xsd:dateTime",
364
+ "rdfs:comment": "Deadline after which votes are rejected."
365
+ },
366
+ {
367
+ "id": "nightpay:PrivacyClassScheme",
368
+ "type": "skos:ConceptScheme",
369
+ "skos:prefLabel": "Privacy Class Scheme"
370
+ },
371
+ {
372
+ "id": "nightpay:privacy/public",
373
+ "type": "skos:Concept",
374
+ "skos:inScheme": {
375
+ "id": "nightpay:PrivacyClassScheme"
376
+ },
377
+ "skos:prefLabel": "public"
378
+ },
379
+ {
380
+ "id": "nightpay:privacy/hashed-only",
381
+ "type": "skos:Concept",
382
+ "skos:inScheme": {
383
+ "id": "nightpay:PrivacyClassScheme"
384
+ },
385
+ "skos:prefLabel": "hashed-only"
386
+ },
387
+ {
388
+ "id": "nightpay:privacy/private-witness",
389
+ "type": "skos:Concept",
390
+ "skos:inScheme": {
391
+ "id": "nightpay:PrivacyClassScheme"
392
+ },
393
+ "skos:prefLabel": "private-witness"
394
+ }
395
+ ]
396
+ }