-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathswagger.yaml
188 lines (187 loc) · 5.01 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
184
185
186
187
basePath: /
definitions:
model.ApiError:
properties:
error:
type: string
type: object
model.EntangleFeedProofsResponse:
properties:
calldata:
$ref: '#/definitions/model.EntangleFeedsProofsView'
error:
type: string
type: object
model.EntangleFeedsProofsCalldata:
properties:
address:
description: PullOracle contract address, represented as a hex string with
0x prefix
type: string
calldata:
description: Calldata is the encoded data as a hex string with 0x prefix
type: string
method:
description: Contract method signature, e.g. "updateMultipleAssets(bytes)"
type: string
type: object
model.EntangleFeedsProofsView:
properties:
feeds:
description: Feeds is the list of feed proofs
items:
$ref: '#/definitions/model.FeedProof'
type: array
merkleRoot:
description: MerkleRoot is the root hash of the Merkle tree of the assets,
represented as a hex string with 0x prefix
type: string
signatures:
description: Signatures is the list of signatures, represented as R, S and
V values
items:
$ref: '#/definitions/model.HashEncodedSignatureDocView'
type: array
type: object
model.FeedProof:
properties:
key:
description: Key is the asset key, e.g. "NGL/USD"
type: string
merkleProofs:
description: MerkleProofs is the list of Merkle proofs
items:
items:
type: integer
type: array
type: array
value:
allOf:
- $ref: '#/definitions/model.Value'
description: Value is the feed value with data and timestamp
type: object
model.HashEncodedSignatureDocView:
properties:
r:
type: string
s:
type: string
v:
type: integer
type: object
model.SpotterInfo:
properties:
assets:
description: Assets is the list of assets the spotter is watching, e.g. "NGL/USD"
items:
type: string
type: array
id:
description: ID is the unique identifier of the spotter, e.g. "price-feed",
"gas-feed"
type: string
networks:
description: Networks are supported by spotters, for further calldata generation
items:
type: string
type: array
type: object
model.Value:
properties:
data:
description: Data is the feed value, represented as a byte array
items:
type: integer
type: array
timestamp:
description: Timestamp is the unix timestamp
type: integer
type: object
host: 34.163.178.6:9005
info:
contact: {}
title: Finalized Data API
version: "1.0"
paths:
/spotters:
get:
description: Show spotters list with their id, supported assets and networks
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/model.SpotterInfo'
type: array
summary: Show live spotters
/spotters/{spotterID}:
get:
parameters:
- description: Spotter ID
in: path
name: spotterID
required: true
type: string
- description: Assets key list
example: NGL/USD,ETH/USD
in: query
name: assets
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/model.EntangleFeedProofsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/model.ApiError'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/model.ApiError'
summary: Show certain spotter's assets list in more detail view
/spotters/{spotterID}/{network}/calldata:
get:
description: Show method, calldata, contract address for specific network
parameters:
- description: Spotter ID
in: path
name: spotterID
required: true
type: string
- description: Blockchain network
in: path
name: network
required: true
type: string
- description: Assets key list
example: NGL/USD,ETH/USD
in: query
name: assets
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/model.EntangleFeedsProofsCalldata'
"400":
description: Bad Request
schema:
$ref: '#/definitions/model.ApiError'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/model.ApiError'
summary: Show certain spotter's assets list in calldata view for specific network
schemes:
- https
swagger: "2.0"