@@ -53,25 +53,32 @@ mod handlers {
53
53
"root::error"
54
54
) ;
55
55
56
- let signed_entity_types =
57
- signed_entity_config. list_allowed_signed_entity_types_discriminants ( ) ;
58
-
59
- let cardano_transactions_prover_capabilities = signed_entity_types
56
+ let mut capabilities = AggregatorCapabilities {
57
+ signed_entity_types : signed_entity_config
58
+ . list_allowed_signed_entity_types_discriminants ( ) ,
59
+ cardano_transactions_prover : None ,
60
+ cardano_transactions_signing_config : None ,
61
+ } ;
62
+
63
+ if capabilities
64
+ . signed_entity_types
60
65
. contains ( & SignedEntityTypeDiscriminants :: CardanoTransactions )
61
- . then_some ( CardanoTransactionsProverCapabilities {
62
- max_hashes_allowed_by_request : configuration
63
- . cardano_transactions_prover_max_hashes_allowed_by_request ,
64
- } ) ;
66
+ {
67
+ capabilities. cardano_transactions_prover =
68
+ Some ( CardanoTransactionsProverCapabilities {
69
+ max_hashes_allowed_by_request : configuration
70
+ . cardano_transactions_prover_max_hashes_allowed_by_request ,
71
+ } ) ;
72
+
73
+ capabilities. cardano_transactions_signing_config =
74
+ Some ( configuration. cardano_transactions_signing_config . clone ( ) ) ;
75
+ }
65
76
66
77
Ok ( json (
67
78
& AggregatorFeaturesMessage {
68
79
open_api_version : open_api_version. to_string ( ) ,
69
80
documentation_url : env ! ( "CARGO_PKG_HOMEPAGE" ) . to_string ( ) ,
70
- capabilities : AggregatorCapabilities {
71
- signed_entity_types,
72
- cardano_transactions_prover : cardano_transactions_prover_capabilities,
73
- cardano_transactions_signing_config : None ,
74
- } ,
81
+ capabilities,
75
82
} ,
76
83
StatusCode :: OK ,
77
84
) )
@@ -82,7 +89,9 @@ mod handlers {
82
89
mod tests {
83
90
use crate :: http_server:: SERVER_BASE_PATH ;
84
91
use crate :: { initialize_dependencies, DependencyContainer } ;
85
- use mithril_common:: entities:: SignedEntityTypeDiscriminants ;
92
+ use mithril_common:: entities:: {
93
+ BlockNumber , CardanoTransactionsSigningConfig , SignedEntityTypeDiscriminants ,
94
+ } ;
86
95
use mithril_common:: messages:: {
87
96
AggregatorCapabilities , AggregatorFeaturesMessage , CardanoTransactionsProverCapabilities ,
88
97
} ;
@@ -170,7 +179,7 @@ mod tests {
170
179
}
171
180
172
181
#[ tokio:: test]
173
- async fn test_root_route_ok_with_cardano_transactions_prover_capabilities ( ) {
182
+ async fn test_root_route_ok_with_cardano_transactions_enabled ( ) {
174
183
let method = Method :: GET . as_str ( ) ;
175
184
let path = "/" ;
176
185
let mut dependency_manager = initialize_dependencies ( ) . await ;
@@ -181,6 +190,13 @@ mod tests {
181
190
dependency_manager
182
191
. config
183
192
. cardano_transactions_prover_max_hashes_allowed_by_request = 99 ;
193
+ let signing_config = CardanoTransactionsSigningConfig {
194
+ security_parameter : BlockNumber ( 70 ) ,
195
+ step : BlockNumber ( 15 ) ,
196
+ } ;
197
+ dependency_manager
198
+ . config
199
+ . cardano_transactions_signing_config = signing_config. clone ( ) ;
184
200
185
201
let response = request ( )
186
202
. method ( method)
@@ -199,6 +215,12 @@ mod tests {
199
215
max_hashes_allowed_by_request: 99
200
216
} )
201
217
) ;
218
+ assert_eq ! (
219
+ response_body
220
+ . capabilities
221
+ . cardano_transactions_signing_config,
222
+ Some ( signing_config)
223
+ ) ;
202
224
203
225
APISpec :: verify_conformity (
204
226
APISpec :: get_all_spec_files ( ) ,
0 commit comments