1
+ use std:: { fs:: File , io:: Write , path:: PathBuf } ;
2
+
1
3
use anyhow:: Context ;
2
4
use clap:: { Parser , Subcommand } ;
3
5
use config:: { builder:: DefaultState , ConfigBuilder } ;
@@ -82,6 +84,10 @@ pub struct GenerateTxDatumEraSubCommand {
82
84
/// Era Markers Secret Key
83
85
#[ clap( long, env = "ERA_MARKERS_SECRET_KEY" ) ]
84
86
era_markers_secret_key : HexEncodedEraMarkersSecretKey ,
87
+
88
+ /// Target Path
89
+ #[ clap( long) ]
90
+ target_path : PathBuf ,
85
91
}
86
92
87
93
impl GenerateTxDatumEraSubCommand {
@@ -93,14 +99,14 @@ impl GenerateTxDatumEraSubCommand {
93
99
EraMarkersVerifierSecretKey :: from_json_hex ( & self . era_markers_secret_key )
94
100
. with_context ( || "json hex decode of era markers secret key failure" ) ?;
95
101
let era_markers_signer = EraMarkersSigner :: from_secret_key ( era_markers_secret_key) ;
96
- print ! (
97
- "{}" ,
98
- era_tools . generate_tx_datum (
99
- Epoch ( self . current_era_epoch ) ,
100
- self . next_era_epoch . map ( Epoch ) ,
101
- & era_markers_signer
102
- ) ?
103
- ) ;
102
+ let tx_datum = era_tools . generate_tx_datum (
103
+ Epoch ( self . current_era_epoch ) ,
104
+ self . next_era_epoch . map ( Epoch ) ,
105
+ & era_markers_signer ,
106
+ ) ? ;
107
+
108
+ let mut target_file = File :: create ( & self . target_path ) ? ;
109
+ target_file . write_all ( tx_datum . as_bytes ( ) ) ? ;
104
110
105
111
Ok ( ( ) )
106
112
}
0 commit comments