15
15
- BearerAuth : []
16
16
responses :
17
17
" 200 " :
18
- description : A list of Bls pubkeys
18
+ description : " All public keys available to the module: consensus pubkeys (BLS) and proxy pubkeys (BLS and ECDSA) "
19
19
content :
20
20
application/json :
21
21
schema :
@@ -25,18 +25,17 @@ paths:
25
25
description : Consensus validator pubkeys
26
26
type : array
27
27
items :
28
- type : string
29
- format : hex
30
- pattern : " ^0x[a-fA-F0-9]{96}$"
31
- example : " 0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989"
32
- proxy :
33
- description : Proxy validator pubkeys
28
+ $ref : ' #/components/schemas/BlsPubkey'
29
+ proxy_bls :
30
+ description : BLS proxy validator pubkeys
34
31
type : array
35
32
items :
36
- type : string
37
- format : hex
38
- pattern : " ^0x[a-fA-F0-9]{96}$"
39
- example : " 0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989"
33
+ $ref : ' #/components/schemas/BlsPubkey'
34
+ proxy_ecdsa :
35
+ description : ECDSA proxy validator pubkeys
36
+ type : array
37
+ items :
38
+ $ref : ' #/components/schemas/EcdsaPubkey'
40
39
" 500 " :
41
40
description : Internal error
42
41
content :
@@ -67,34 +66,55 @@ paths:
67
66
application/json :
68
67
schema :
69
68
type : object
69
+ required : [type, pubkey, object_root]
70
70
properties :
71
- pubkey :
72
- description : BLS public key of validator
71
+ type :
72
+ description : Type of the sign request
73
73
type : string
74
- format : hex
75
- pattern : " ^0x[a-fA-F0-9]{96}$"
76
- example : " 0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989"
77
- is_proxy :
78
- description : Whether the request is for a proxy pubkey
79
- type : boolean
80
- example : false
74
+ enum : [consensus, proxy_bls, proxy_ecdsa]
75
+ pubkey :
76
+ description : Public key of the validator
77
+ oneOf :
78
+ - $ref : ' #/components/schemas/BlsPubkey'
79
+ - $ref : ' #/components/schemas/EcdsaPubkey'
81
80
object_root :
82
81
description : The root of the object to be signed
83
82
type : string
84
83
format : hex
85
84
pattern : " ^0x[a-fA-F0-9]{64}$"
86
85
example : " 0x3e9f4a78b5c21d64f0b8e3d9a7f5c02b4d1e67a3c8f29b5d6e4a3b1c8f72e6d9"
86
+ examples :
87
+ Consensus :
88
+ value :
89
+ type : " consensus"
90
+ pubkey : " 0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989"
91
+ object_root : " 0x3e9f4a78b5c21d64f0b8e3d9a7f5c02b4d1e67a3c8f29b5d6e4a3b1c8f72e6d9"
92
+ ProxyBls :
93
+ value :
94
+ type : " proxy_bls"
95
+ pubkey : " 0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989"
96
+ object_root : " 0x3e9f4a78b5c21d64f0b8e3d9a7f5c02b4d1e67a3c8f29b5d6e4a3b1c8f72e6d9"
97
+ ProxyEcdsa :
98
+ value :
99
+ type : " proxy_ecdsa"
100
+ pubkey : " 0x023b2806b1b1dfa34dd90b01546906cef3e4c8e0fc0cba60480e9eb4d0a0828311"
101
+ object_root : " 0x3e9f4a78b5c21d64f0b8e3d9a7f5c02b4d1e67a3c8f29b5d6e4a3b1c8f72e6d9"
87
102
responses :
88
103
" 200 " :
89
- description : Successs
104
+ description : Success
90
105
content :
91
106
application/json :
92
107
schema :
93
- type : string
94
- description : The validator signature
95
- format : hex
96
- pattern : " ^0x[a-fA-F0-9]{192}$"
97
- example : " 0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989a3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989"
108
+ oneOf :
109
+ - $ref : ' #/components/schemas/BlsSignature'
110
+ - $ref : ' #/components/schemas/EcdsaSignature'
111
+ examples :
112
+ Consensus :
113
+ value : " 0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989a3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989"
114
+ ProxyBls :
115
+ value : " 0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989a3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989"
116
+ ProxyEcdsa :
117
+ value : " 0xe6a0c0c41a6d4af9794882c18c5280376cbfb7921453612dea02ed8f47b1208455f07931dc12c4b70c4e8ae216db0136000ec2cf17244189f012de356ac46cec"
98
118
" 404 " :
99
119
description : Unknown value (pubkey, etc.)
100
120
content :
@@ -141,13 +161,25 @@ paths:
141
161
application/json :
142
162
schema :
143
163
type : object
164
+ required : [pubkey, scheme]
144
165
properties :
145
166
pubkey :
146
167
description : a validator BLS public key for which to generate a proxy key
168
+ allOf :
169
+ - $ref : ' #/components/schemas/BlsPubkey'
170
+ scheme :
171
+ description : signature scheme to generate proxy keypair for
147
172
type : string
148
- format : hex
149
- pattern : " ^0x[a-fA-F0-9]{96}$"
150
- example : " 0xac5e059177afc33263e95d0be0690138b9a1d79a6e19018086a0362e0c30a50bf9e05a08cb44785724d0b2718c5c7118"
173
+ enum : [bls, ecdsa]
174
+ examples :
175
+ Bls :
176
+ value :
177
+ pubkey : " 0xa9e9cff900de07e295a044789fd4bdb6785eb0651ad282f9e76d12afd87e75180bdd64caf2e315b815d7322bd31ab48a"
178
+ scheme : " bls"
179
+ Ecdsa :
180
+ value :
181
+ pubkey : " 0xa9e9cff900de07e295a044789fd4bdb6785eb0651ad282f9e76d12afd87e75180bdd64caf2e315b815d7322bd31ab48a"
182
+ scheme : " ecdsa"
151
183
responses :
152
184
" 200 " :
153
185
description : Successs
@@ -161,22 +193,30 @@ paths:
161
193
properties :
162
194
delegator :
163
195
description : the validator BLS public key for which the proxy key was generated (the same one as requested)
164
- type : string
165
- format : hex
166
- pattern : " ^0x[a-fA-F0-9]{96}$"
167
- example : " 0xac5e059177afc33263e95d0be0690138b9a1d79a6e19018086a0362e0c30a50bf9e05a08cb44785724d0b2718c5c7118"
196
+ allOf :
197
+ - $ref : ' #/components/schemas/BlsPubkey'
168
198
proxy :
169
199
description : the generated proxy public key
170
- type : string
171
- format : hex
172
- pattern : " ^0x[a-fA-F0-9]{96}$"
173
- example : " 0x8a481a7a51c430a9bafa64366bc4934f5880f5f1d97646f91680936a53f2a268fdde5369430a2b4bb700c5f82cfbab3f"
200
+ oneOf :
201
+ - $ref : ' #/components/schemas/BlsPubkey'
202
+ - $ref : ' #/components/schemas/EcdsaPubkey'
174
203
signature :
175
204
description : The signature of the proxy delegation
176
- type : string
177
- format : hex
178
- pattern : " ^0x[a-fA-F0-9]{192}$"
179
- example : " 0xabfacf1cd17d80abfc6fa6b8e534ab25cdb1f95a855706ef604672c8695401a84c7834008e57925d4259c551b7c03d1a16f05b082294fadcba802a61a5cccfb5e96dd1dce4c9dac3f6d15254495019146346670be1f374a67cb0cda2aaf72d00"
205
+ allOf :
206
+ - $ref : ' #/components/schemas/BlsSignature'
207
+ examples :
208
+ Bls :
209
+ value :
210
+ message :
211
+ delegator : " 0xa9e9cff900de07e295a044789fd4bdb6785eb0651ad282f9e76d12afd87e75180bdd64caf2e315b815d7322bd31ab48a"
212
+ proxy : " 0xb646318d81b7cff3f8aae5040eab11927b4a99542c02970a1ab8069a83e5b76b302705d0b5e0054831ce2af72088bf30"
213
+ signature : " 0x88274f2d78d30ae429cc16f5c64657b491ccf26291c821cf953da34f16d60947d4f245decdce4a492e8d8f949482051b184aaa890d5dd97788387689335a1fee37cbe55c0227f81b073ce6e93b45f96169f497ed322d3d384d79ccaa7846d5ab"
214
+ Ecdsa :
215
+ value :
216
+ message :
217
+ delegator : " 0xa9e9cff900de07e295a044789fd4bdb6785eb0651ad282f9e76d12afd87e75180bdd64caf2e315b815d7322bd31ab48a"
218
+ proxy : " 0x023b2806b1b1dfa34dd90b01546906cef3e4c8e0fc0cba60480e9eb4d0a0828311"
219
+ signature : " 0xb5b5b71d1701cc45086af3d3d86bf9d3c509442835e5b9f7734923edc9a6c538e743d70613cdef90b7e5b171fbbe6a29075b3f155e4bd66d81ff9dbc3b6d7fa677d169b2ceab727ffa079a31fe1fc0e478752e9da9566a9408e4db24ac6104db"
180
220
" 404 " :
181
221
description : Unknown value (pubkey, etc.)
182
222
content :
@@ -216,3 +256,24 @@ components:
216
256
type : http
217
257
scheme : bearer
218
258
bearerFormat : JWT
259
+ schemas :
260
+ BlsPubkey :
261
+ type : string
262
+ format : hex
263
+ pattern : " ^0x[a-fA-F0-9]{96}$"
264
+ example : " 0xa9e9cff900de07e295a044789fd4bdb6785eb0651ad282f9e76d12afd87e75180bdd64caf2e315b815d7322bd31ab48a"
265
+ EcdsaPubkey :
266
+ type : string
267
+ format : hex
268
+ pattern : " ^0x[a-fA-F0-9]{64}$"
269
+ example : " 0x023b2806b1b1dfa34dd90b01546906cef3e4c8e0fc0cba60480e9eb4d0a0828311"
270
+ BlsSignature :
271
+ type : string
272
+ format : hex
273
+ pattern : " ^0x[a-fA-F0-9]{192}$"
274
+ example : " 0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989a3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989"
275
+ EcdsaSignature :
276
+ type : string
277
+ format : hex
278
+ pattern : " ^0x[a-fA-F0-9]{128}$"
279
+ example : " 0xe6a0c0c41a6d4af9794882c18c5280376cbfb7921453612dea02ed8f47b1208455f07931dc12c4b70c4e8ae216db0136000ec2cf17244189f012de356ac46cec"
0 commit comments