-
Notifications
You must be signed in to change notification settings - Fork 2
/
swagger.yaml
183 lines (182 loc) · 5.52 KB
/
swagger.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
swagger: '2.0'
info:
version: 1.0.0
title: Contract Auditor API
description: API for auditing smart contracts
schemes:
- https
host: api.luckblock.io
basePath: /
consumes:
- application/json
produces:
- application/json
paths:
/audit/{contractId}:
post:
summary: Start audit
description: Starts the auditing process for a given contract
parameters:
- name: contractId
in: path
required: true
type: string
responses:
200:
description: The status of the auditing process
schema:
type: object
properties:
status:
type: string
description: The status of the auditing process, can be 'ended', 'pending', 'started'
error:
type: string
description: Error message if any error occurs
/audit/{contractId}/status:
get:
summary: Audit status
description: Returns the status of the auditing process for a given contract
parameters:
- name: contractId
in: path
required: true
type: string
responses:
200:
description: The status of the auditing process
schema:
type: object
properties:
status:
type: string
description: The status of the auditing process, can be 'ended', 'errored', 'unknown'
error:
type: string
description: Error message if any error occurs
/audit/{contractId}/pdf:
get:
summary: Get audit report in PDF
description: Returns the audit report in PDF format for a given contract
parameters:
- name: contractId
in: path
required: true
type: string
responses:
200:
description: PDF report
schema:
type: object
properties:
status:
type: string
description: The status of the operation, should be 'success'
pdf:
type: string
description: The PDF report in base64 string
/audit/{contractId}/direct-pdf:
get:
summary: Get audit report in PDF directly
description: Directly returns the audit report in PDF format for a given contract
parameters:
- name: contractId
in: path
required: true
type: string
responses:
200:
description: Direct PDF report
/audit/{contractId}/json:
get:
summary: Get audit report in JSON
description: Returns the audit report in JSON format for a given contract
parameters:
- name: contractId
in: path
required: true
type: string
responses:
200:
description: JSON report
schema:
type: object
properties:
status:
type: string
description: The status of the operation, should be 'success'
data:
type: object
description: The audit report data in JSON format
properties:
contractId:
type: string
description: The ID of the audited contract
contractName:
type: string
description: The name of the audited contract
issues:
type: array
description: List of issues found during the audit
items:
type: object
properties:
id:
type: string
description: The ID of the issue
contractId:
type: string
description: The ID of the contract where the issue was found
issueExplanation:
type: string
description: Explanation of the issue
issueCodeDiffId:
type: string
description: The ID of the code difference related to the issue (you need to fetch it using /diff/:id)
/audit/{contractId}/diff/{id}:
get:
summary: Get code diff
description: Returns the code difference for a given contract and id
parameters:
- name: contractId
in: path
required: true
type: string
- name: id
in: path
required: true
type: integer
responses:
200:
description: Code difference
schema:
type: object
properties:
status:
type: string
description: The status of the operation, should be 'success'
diff:
type: object
description: The code difference data in JSON format
/audit/{contractId}/reset/{key}:
post:
summary: Reset audit
description: Resets the auditing process for a given contract
parameters:
- name: contractId
in: path
required: true
type: string
- name: key
in: path
required: true
type: string
responses:
200:
description: The status of the reset process
schema:
type: object
properties:
status:
type: string
description: The status of the operation, should be 'success'