Skip to content

Commit 3f56921

Browse files
committed
add GenesisVestedKey and GenesisVestedDelegateKey
1 parent 5dff62c commit 3f56921

File tree

2 files changed

+113
-51
lines changed

2 files changed

+113
-51
lines changed

bcc-cli/src/Bcc/CLI/Sophie/Run/Genesis.hs

+7-7
Original file line numberDiff line numberDiff line change
@@ -365,19 +365,19 @@ runGenesisVerKey (VerificationKeyFile vkeyPath) (SigningKeyFile skeyPath) = do
365365

366366
let vkey :: SomeGenesisKey VerificationKey
367367
vkey = case skey of
368-
AGenesisKey sk -> AGenesisKey (getVerificationKey sk)
369-
AGenesisDelegateKey sk -> AGenesisDelegateKey (getVerificationKey sk)
370-
AGenesisVestedKey sk -> AGenesisVestedKey (getVerificationKey sk)
368+
AGenesisKey sk -> AGenesisKey (getVerificationKey sk)
369+
AGenesisDelegateKey sk -> AGenesisDelegateKey (getVerificationKey sk)
370+
AGenesisVestedKey sk -> AGenesisVestedKey (getVerificationKey sk)
371371
AGenesisVestedDelegateKey sk -> AGenesisVestedDelegateKey (getVerificationKey sk)
372-
AGenesisUTxOKey sk -> AGenesisUTxOKey (getVerificationKey sk)
372+
AGenesisUTxOKey sk -> AGenesisUTxOKey (getVerificationKey sk)
373373

374374
firstExceptT SophieGenesisCmdGenesisFileError . newExceptT . liftIO $
375375
case vkey of
376-
AGenesisKey vk -> writeFileTextEnvelope vkeyPath Nothing vk
377-
AGenesisDelegateKey vk -> writeFileTextEnvelope vkeyPath Nothing vk
376+
AGenesisKey vk -> writeFileTextEnvelope vkeyPath Nothing vk
377+
AGenesisDelegateKey vk -> writeFileTextEnvelope vkeyPath Nothing vk
378378
AGenesisVestedKey vk -> writeFileTextEnvelope vkeyPath Nothing vk
379379
AGenesisVestedDelegateKey vk -> writeFileTextEnvelope vkeyPath Nothing vk
380-
AGenesisUTxOKey vk -> writeFileTextEnvelope vkeyPath Nothing vk
380+
AGenesisUTxOKey vk -> writeFileTextEnvelope vkeyPath Nothing vk
381381

382382
data SomeGenesisKey f
383383
= AGenesisKey (f GenesisKey)

bcc-cli/src/Bcc/CLI/Sophie/Run/Key.hs

+106-44
Original file line numberDiff line numberDiff line change
@@ -115,48 +115,56 @@ runGetVerificationKey skf (VerificationKeyFile vkf) = do
115115

116116

117117
data SomeSigningKey
118-
= AColeSigningKey (SigningKey ColeKey)
119-
| APaymentSigningKey (SigningKey PaymentKey)
120-
| APaymentExtendedSigningKey (SigningKey PaymentExtendedKey)
121-
| AStakeSigningKey (SigningKey StakeKey)
122-
| AStakeExtendedSigningKey (SigningKey StakeExtendedKey)
123-
| AStakePoolSigningKey (SigningKey StakePoolKey)
124-
| AGenesisSigningKey (SigningKey GenesisKey)
125-
| AGenesisExtendedSigningKey (SigningKey GenesisExtendedKey)
126-
| AGenesisDelegateSigningKey (SigningKey GenesisDelegateKey)
127-
| AGenesisDelegateExtendedSigningKey (SigningKey GenesisDelegateExtendedKey)
128-
| AGenesisUTxOSigningKey (SigningKey GenesisUTxOKey)
129-
| AVestedSigningKey (SigningKey VestedKey)
130-
| AVestedExtendedSigningKey (SigningKey VestedExtendedKey)
131-
| AVestedDelegateSigningKey (SigningKey VestedDelegateKey)
132-
| AVestedDelegateExtendedSigningKey (SigningKey VestedDelegateExtendedKey)
133-
| AVestedUTxOSigningKey (SigningKey VestedUTxOKey)
134-
| AVrfSigningKey (SigningKey VrfKey)
135-
| AKesSigningKey (SigningKey KesKey)
118+
= AColeSigningKey (SigningKey ColeKey)
119+
| APaymentSigningKey (SigningKey PaymentKey)
120+
| APaymentExtendedSigningKey (SigningKey PaymentExtendedKey)
121+
| AStakeSigningKey (SigningKey StakeKey)
122+
| AStakeExtendedSigningKey (SigningKey StakeExtendedKey)
123+
| AStakePoolSigningKey (SigningKey StakePoolKey)
124+
| AGenesisSigningKey (SigningKey GenesisKey)
125+
| AGenesisExtendedSigningKey (SigningKey GenesisExtendedKey)
126+
| AGenesisDelegateSigningKey (SigningKey GenesisDelegateKey)
127+
| AGenesisDelegateExtendedSigningKey (SigningKey GenesisDelegateExtendedKey)
128+
| AGenesisVestedSigngingKey (SigningKey GenesisVestedKey)
129+
| AGenesisVestedExtendedSigningKey (SigningKey GenesisVestedExtendedKey)
130+
| AGenesisVestedDelegateSigningKey (SigningKey GenesisVestedDelegateKey)
131+
| AGenesisVestedDelegateExtendedSigningKey (SigningKey GenesisVestedDelegateExtendedKey)
132+
| AGenesisUTxOSigningKey (SigningKey GenesisUTxOKey)
133+
| AVestedSigningKey (SigningKey VestedKey)
134+
| AVestedExtendedSigningKey (SigningKey VestedExtendedKey)
135+
| AVestedDelegateSigningKey (SigningKey VestedDelegateKey)
136+
| AVestedDelegateExtendedSigningKey (SigningKey VestedDelegateExtendedKey)
137+
| AVestedUTxOSigningKey (SigningKey VestedUTxOKey)
138+
| AVrfSigningKey (SigningKey VrfKey)
139+
| AKesSigningKey (SigningKey KesKey)
136140

137141
withSomeSigningKey :: SomeSigningKey
138142
-> (forall keyrole. Key keyrole => SigningKey keyrole -> a)
139143
-> a
140144
withSomeSigningKey ssk f =
141145
case ssk of
142-
AColeSigningKey sk -> f sk
143-
APaymentSigningKey sk -> f sk
144-
APaymentExtendedSigningKey sk -> f sk
145-
AStakeSigningKey sk -> f sk
146-
AStakeExtendedSigningKey sk -> f sk
147-
AStakePoolSigningKey sk -> f sk
148-
AGenesisSigningKey sk -> f sk
149-
AGenesisExtendedSigningKey sk -> f sk
150-
AGenesisDelegateSigningKey sk -> f sk
151-
AGenesisDelegateExtendedSigningKey sk -> f sk
152-
AGenesisUTxOSigningKey sk -> f sk
153-
AVestedSigningKey sk -> f sk
154-
AVestedExtendedSigningKey sk -> f sk
155-
AVestedDelegateSigningKey sk -> f sk
156-
AVestedDelegateExtendedSigningKey sk -> f sk
157-
AVestedUTxOSigningKey sk -> f sk
158-
AVrfSigningKey sk -> f sk
159-
AKesSigningKey sk -> f sk
146+
AColeSigningKey sk -> f sk
147+
APaymentSigningKey sk -> f sk
148+
APaymentExtendedSigningKey sk -> f sk
149+
AStakeSigningKey sk -> f sk
150+
AStakeExtendedSigningKey sk -> f sk
151+
AStakePoolSigningKey sk -> f sk
152+
AGenesisSigningKey sk -> f sk
153+
AGenesisExtendedSigningKey sk -> f sk
154+
AGenesisDelegateSigningKey sk -> f sk
155+
AGenesisDelegateExtendedSigningKey sk -> f sk
156+
AGenesisVestedSigngingKey sk -> f sk
157+
AGenesisVestedExtendedSigningKey sk -> f sk
158+
AGenesisVestedDelegateKey sk -> f sk
159+
AGenesisVestedDelegateExtendedSigningKey sk -> f sk
160+
AGenesisUTxOSigningKey sk -> f sk
161+
AVestedSigningKey sk -> f sk
162+
AVestedExtendedSigningKey sk -> f sk
163+
AVestedDelegateSigningKey sk -> f sk
164+
AVestedDelegateExtendedSigningKey sk -> f sk
165+
AVestedUTxOSigningKey sk -> f sk
166+
AVrfSigningKey sk -> f sk
167+
AKesSigningKey sk -> f sk
160168

161169
readSigningKeyFile
162170
:: SigningKeyFile
@@ -186,6 +194,14 @@ readSigningKeyFile skFile =
186194
AGenesisDelegateSigningKey
187195
, FromSomeType (AsSigningKey AsGenesisDelegateExtendedKey)
188196
AGenesisDelegateExtendedSigningKey
197+
, FromSomeType (AsSigningKey AsGenesisVestedKey)
198+
AGenesisVestedSigningKey
199+
, FromSomeType (AsSigningKey AsGenesisVestedExtendedKey)
200+
AGenesisVestedExtendedSigningKey
201+
, FromSomeType (AsSigningKey AsGenesisVestedDelegateKey)
202+
AGenesisVestedDelegateSigningKey
203+
, FromSomeType (AsSigningKey AsGenesisVestedDelegateExtendedKey)
204+
AGenesisVestedDelegateExtendedSigningKey
189205
, FromSomeType (AsSigningKey AsGenesisUTxOKey)
190206
AGenesisUTxOSigningKey
191207
, FromSomeType (AsSigningKey AsVestedKey)
@@ -247,21 +263,27 @@ withNonExtendedKey (AGenesisExtendedVerificationKey vk) f =
247263
withNonExtendedKey (AGenesisDelegateExtendedVerificationKey vk) f =
248264
f (castVerificationKey vk :: VerificationKey GenesisDelegateKey)
249265

266+
withNonExtendedKey (AGenesisVestedExtendedVerificationKey vk) f =
267+
f (castVerificationKey vk :: VerificationKey GenesisVestedKey)
268+
269+
withNonExtendedKey (AGenesisVestedDelegateExtendedVerificationKey vk) f =
270+
f (castVerificationKey vk :: VerificationKey GenesisVestedDelegateKey)
271+
250272
withNonExtendedKey (AVestedExtendedVerificationKey vk) f =
251273
f (castVerificationKey vk :: VerificationKey VestedKey)
252274

253275
withNonExtendedKey (AVestedDelegateExtendedVerificationKey vk) f =
254276
f (castVerificationKey vk :: VerificationKey VestedDelegateKey)
255277

256278
data SomeExtendedVerificationKey
257-
= APaymentExtendedVerificationKey (VerificationKey PaymentExtendedKey)
258-
| AStakeExtendedVerificationKey (VerificationKey StakeExtendedKey)
259-
| AGenesisExtendedVerificationKey (VerificationKey GenesisExtendedKey)
260-
| AGenesisDelegateExtendedVerificationKey
261-
(VerificationKey GenesisDelegateExtendedKey)
262-
| AVestedExtendedVerificationKey (VerificationKey VestedExtendedKey)
263-
| AVestedDelegateExtendedVerificationKey
264-
(VerificationKey VestedDelegateExtendedKey)
279+
= APaymentExtendedVerificationKey (VerificationKey PaymentExtendedKey)
280+
| AStakeExtendedVerificationKey (VerificationKey StakeExtendedKey)
281+
| AGenesisExtendedVerificationKey (VerificationKey GenesisExtendedKey)
282+
| AGenesisDelegateExtendedVerificationKey (VerificationKey GenesisDelegateExtendedKey)
283+
| AGenesisExtendedVerificationKey (VerificationKey GenesisVestedExtendedKey)
284+
| AGenesisDelegateExtendedVerificationKey (VerificationKey GenesisVestedDelegateExtendedKey)
285+
| AVestedExtendedVerificationKey (VerificationKey VestedExtendedKey)
286+
| AVestedDelegateExtendedVerificationKey (VerificationKey VestedDelegateExtendedKey)
265287

266288
readExtendedVerificationKeyFile
267289
:: VerificationKeyFile
@@ -278,6 +300,10 @@ readExtendedVerificationKeyFile (VerificationKeyFile evkfile) =
278300
AGenesisExtendedVerificationKey
279301
, FromSomeType (AsVerificationKey AsGenesisDelegateExtendedKey)
280302
AGenesisDelegateExtendedVerificationKey
303+
, FromSomeType (AsVerificationKey AsGenesisVestedExtendedKey)
304+
AGenesisVestedExtendedVerificationKey
305+
, FromSomeType (AsVerificationKey AsGenesisVestedDelegateExtendedKey)
306+
AGenesisVestedDelegateExtendedVerificationKey
281307
, FromSomeType (AsVerificationKey AsVestedExtendedKey)
282308
AVestedExtendedVerificationKey
283309
, FromSomeType (AsVerificationKey AsVestedDelegateExtendedKey)
@@ -303,6 +329,12 @@ runConvertColeKey mPwd (ColeGenesisKey format) (ASigningKeyFile skeyPathOld) =
303329
convert :: Cole.SigningKey -> SigningKey GenesisExtendedKey
304330
convert (Cole.SigningKey xsk) = GenesisExtendedSigningKey xsk
305331

332+
runConvertColeKey mPwd (ColeGenesisVestedKey format) (ASigningKeyFile skeyPathOld) =
333+
convertColeSigningKey mPwd format convert skeyPathOld
334+
where
335+
convert :: Cole.SigningKey -> SigningKey GenesisVestedExtendedKey
336+
convert (Cole.SigningKey xsk) = GenesisVestedExtendedSigningKey xsk
337+
306338
runConvertColeKey mPwd (ColeVestedKey format) (ASigningKeyFile skeyPathOld) =
307339
convertColeSigningKey mPwd format convert skeyPathOld
308340
where
@@ -315,6 +347,12 @@ runConvertColeKey mPwd (ColeDelegateKey format) (ASigningKeyFile skeyPathOld) =
315347
convert :: Cole.SigningKey -> SigningKey GenesisDelegateExtendedKey
316348
convert (Cole.SigningKey xsk) = GenesisDelegateExtendedSigningKey xsk
317349

350+
runConvertColeKey mPwd (ColeGenesisVestedDelegateKey format) (ASigningKeyFile skeyPathOld) =
351+
convertColeSigningKey mPwd format convert skeyPathOld
352+
where
353+
convert :: Cole.SigningKey -> SigningKey GenesisVestedDelegateExtendedKey
354+
convert (Cole.SigningKey xsk) = GenesisVestedDelegateExtendedSigningKey xsk
355+
318356
runConvertColeKey mPwd (ColeVestedDelegateKey format) (ASigningKeyFile skeyPathOld) =
319357
convertColeSigningKey mPwd format convert skeyPathOld
320358
where
@@ -335,6 +373,13 @@ runConvertColeKey _ (ColeGenesisKey NonLegacyColeKeyFormat)
335373
convert :: Cole.VerificationKey -> VerificationKey GenesisExtendedKey
336374
convert (Cole.VerificationKey xvk) = GenesisExtendedVerificationKey xvk
337375

376+
runConvertColeKey _ (ColeGenesisVestedKey NonLegacyColeKeyFormat)
377+
(AVerificationKeyFile vkeyPathOld) =
378+
convertColeVerificationKey convert vkeyPathOld
379+
where
380+
convert :: Cole.VerificationKey -> VerificationKey GenesisVestedExtendedKey
381+
convert (Cole.VerificationKey xvk) = GenesisVestedExtendedVerificationKey xvk
382+
338383
runConvertColeKey _ (ColeVestedKey NonLegacyColeKeyFormat)
339384
(AVerificationKeyFile vkeyPathOld) =
340385
convertColeVerificationKey convert vkeyPathOld
@@ -351,6 +396,15 @@ runConvertColeKey _ (ColeDelegateKey NonLegacyColeKeyFormat)
351396
convert (Cole.VerificationKey xvk) =
352397
GenesisDelegateExtendedVerificationKey xvk
353398

399+
runConvertColeKey _ (ColeGenesisVestedDelegateKey NonLegacyColeKeyFormat)
400+
(AVerificationKeyFile vkeyPathOld) =
401+
convertColeVerificationKey convert vkeyPathOld
402+
where
403+
convert :: Cole.VerificationKey
404+
-> VerificationKey GenesisVestedDelegateExtendedKey
405+
convert (Cole.VerificationKey xvk) =
406+
GenesisVestedDelegateExtendedVerificationKey xvk
407+
354408
runConvertColeKey _ (ColeVestedDelegateKey NonLegacyColeKeyFormat)
355409
(AVerificationKeyFile vkeyPathOld) =
356410
convertColeVerificationKey convert vkeyPathOld
@@ -368,6 +422,10 @@ runConvertColeKey _ (ColeGenesisKey LegacyColeKeyFormat)
368422
AVerificationKeyFile{} =
369423
const legacyVerificationKeysNotSupported
370424

425+
runConvertColeKey _ (ColeGenesisVestedKey LegacyColeKeyFormat)
426+
AVerificationKeyFile{} =
427+
const legacyVerificationKeysNotSupported
428+
371429
runConvertColeKey _ (ColeVestedKey LegacyColeKeyFormat)
372430
AVerificationKeyFile{} =
373431
const legacyVerificationKeysNotSupported
@@ -376,6 +434,10 @@ runConvertColeKey _ (ColeDelegateKey LegacyColeKeyFormat)
376434
AVerificationKeyFile{} =
377435
const legacyVerificationKeysNotSupported
378436

437+
runConvertColeKey _ (ColeGenesisVestedDelegateKey LegacyColeKeyFormat)
438+
AVerificationKeyFile{} =
439+
const legacyVerificationKeysNotSupported
440+
379441
runConvertColeKey _ (ColeVestedDelegateKey LegacyColeKeyFormat)
380442
AVerificationKeyFile{} =
381443
const legacyVerificationKeysNotSupported

0 commit comments

Comments
 (0)