File tree Expand file tree Collapse file tree 3 files changed +16
-7
lines changed
cardano-cli/src/Cardano/CLI/Shelley Expand file tree Collapse file tree 3 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -118,7 +118,7 @@ data StakeAddressCmd
118
118
= StakeAddressKeyGen VerificationKeyFile SigningKeyFile
119
119
| StakeAddressKeyHash (VerificationKeyOrFile StakeKey ) (Maybe OutputFile )
120
120
| StakeAddressBuild StakeVerifier NetworkId (Maybe OutputFile )
121
- | StakeRegistrationCert StakeVerifier OutputFile
121
+ | StakeRegistrationCert ( Either StakeVerifier StakeAddress ) OutputFile
122
122
| StakeCredentialDelegationCert
123
123
StakeVerifier
124
124
(VerificationKeyOrHashOrFile StakePoolKey )
Original file line number Diff line number Diff line change @@ -341,9 +341,10 @@ pStakeAddressCmd =
341
341
<*> pMaybeOutputFile
342
342
343
343
pStakeAddressRegistrationCert :: Parser StakeAddressCmd
344
- pStakeAddressRegistrationCert = StakeRegistrationCert
345
- <$> pStakeVerifier
346
- <*> pOutputFile
344
+ pStakeAddressRegistrationCert =
345
+ StakeRegistrationCert
346
+ <$> (Left <$> pStakeVerifier <|> Right <$> pStakeAddress)
347
+ <*> pOutputFile
347
348
348
349
pStakeAddressDeregistrationCert :: Parser StakeAddressCmd
349
350
pStakeAddressDeregistrationCert = StakeCredentialDeRegistrationCert
Original file line number Diff line number Diff line change @@ -116,23 +116,31 @@ runStakeAddressBuild stakeVerifier network mOutputFp =
116
116
117
117
118
118
runStakeCredentialRegistrationCert
119
- :: StakeVerifier
119
+ :: Either StakeVerifier StakeAddress
120
120
-> OutputFile
121
121
-> ExceptT ShelleyStakeAddressCmdError IO ()
122
122
runStakeCredentialRegistrationCert stakeVerifier (OutputFile oFp) =
123
123
case stakeVerifier of
124
- StakeVerifierScriptFile (ScriptFile sFile) -> do
124
+ Left ( StakeVerifierScriptFile (ScriptFile sFile) ) -> do
125
125
ScriptInAnyLang _ script <- firstExceptT ShelleyStakeAddressCmdReadScriptFileError
126
126
$ readFileScriptInAnyLang sFile
127
127
let stakeCred = StakeCredentialByScript $ hashScript script
128
128
writeRegistrationCert stakeCred
129
- StakeVerifierKey stakeVerKeyOrFile -> do
129
+ Left ( StakeVerifierKey stakeVerKeyOrFile) -> do
130
130
stakeVerKey <- firstExceptT ShelleyStakeAddressCmdReadKeyFileError
131
131
. newExceptT
132
132
$ readVerificationKeyOrFile AsStakeKey stakeVerKeyOrFile
133
133
let stakeCred = StakeCredentialByKey (verificationKeyHash stakeVerKey)
134
134
writeRegistrationCert stakeCred
135
+ Right stakeAddr ->
136
+ writeRegistrationCert $ stakeAddrToStakeCredential stakeAddr
135
137
where
138
+
139
+ -- TODO: expose a pattern for StakeAddress that give us the StakeCredential
140
+ stakeAddrToStakeCredential :: StakeAddress -> StakeCredential
141
+ stakeAddrToStakeCredential (StakeAddress _ scred) =
142
+ fromShelleyStakeCredential scred
143
+
136
144
writeRegistrationCert
137
145
:: StakeCredential
138
146
-> ExceptT ShelleyStakeAddressCmdError IO ()
You can’t perform that action at this time.
0 commit comments