@@ -111,16 +111,27 @@ impl VersionedDatumWithLegacy for RegisterValidatorDatum {
111
111
pub fn candidate_registration_to_plutus_data (
112
112
candidate_registration : & CandidateRegistration ,
113
113
) -> PlutusData {
114
- RegisterValidatorDatum :: V0 {
115
- stake_ownership : candidate_registration. stake_ownership . clone ( ) ,
116
- sidechain_pub_key : candidate_registration. partner_chain_pub_key . clone ( ) ,
117
- sidechain_signature : candidate_registration. partner_chain_signature . clone ( ) ,
118
- registration_utxo : candidate_registration. registration_utxo ,
119
- own_pkh : candidate_registration. own_pkh ,
120
- aura_pub_key : AuraPublicKey ( candidate_registration. keys . find_or_empty ( AURA ) ) ,
121
- grandpa_pub_key : GrandpaPublicKey ( candidate_registration. keys . find_or_empty ( GRANDPA ) ) ,
122
- }
123
- . into ( )
114
+ let datum = if candidate_registration. keys . has_only_aura_and_grandpa_keys ( ) {
115
+ RegisterValidatorDatum :: V0 {
116
+ stake_ownership : candidate_registration. stake_ownership . clone ( ) ,
117
+ sidechain_pub_key : candidate_registration. partner_chain_pub_key . clone ( ) ,
118
+ sidechain_signature : candidate_registration. partner_chain_signature . clone ( ) ,
119
+ registration_utxo : candidate_registration. registration_utxo ,
120
+ own_pkh : candidate_registration. own_pkh ,
121
+ aura_pub_key : AuraPublicKey ( candidate_registration. keys . find_or_empty ( AURA ) ) ,
122
+ grandpa_pub_key : GrandpaPublicKey ( candidate_registration. keys . find_or_empty ( GRANDPA ) ) ,
123
+ }
124
+ } else {
125
+ RegisterValidatorDatum :: V1 {
126
+ stake_ownership : candidate_registration. stake_ownership . clone ( ) ,
127
+ sidechain_pub_key : candidate_registration. partner_chain_pub_key . clone ( ) ,
128
+ sidechain_signature : candidate_registration. partner_chain_signature . clone ( ) ,
129
+ registration_utxo : candidate_registration. registration_utxo ,
130
+ own_pkh : candidate_registration. own_pkh ,
131
+ keys : candidate_registration. keys . clone ( ) ,
132
+ }
133
+ } ;
134
+ datum. into ( )
124
135
}
125
136
126
137
impl From < RegisterValidatorDatum > for CandidateRegistration {
@@ -312,19 +323,12 @@ impl From<RegisterValidatorDatum> for PlutusData {
312
323
appendix_fields. add ( & PlutusData :: new_bytes ( sidechain_pub_key. 0 ) ) ;
313
324
appendix_fields. add ( & PlutusData :: new_bytes ( sidechain_signature. 0 ) ) ;
314
325
appendix_fields. add ( & utxo_id_to_plutus_data ( registration_utxo) ) ;
315
- let version = if keys. has_only_aura_and_grandpa_keys ( ) {
316
- appendix_fields. add ( & PlutusData :: new_bytes ( keys. find_or_empty ( AURA ) ) ) ;
317
- appendix_fields. add ( & PlutusData :: new_bytes ( keys. find_or_empty ( GRANDPA ) ) ) ;
318
- 0
319
- } else {
320
- appendix_fields. add ( & candidate_keys_to_plutus ( & keys) ) ;
321
- 1
322
- } ;
326
+ appendix_fields. add ( & candidate_keys_to_plutus ( & keys) ) ;
323
327
let appendix = ConstrPlutusData :: new ( & BigNum :: zero ( ) , & appendix_fields) ;
324
328
VersionedGenericDatum {
325
329
datum : PlutusData :: new_bytes ( own_pkh. 0 . to_vec ( ) ) ,
326
330
appendix : PlutusData :: new_constr_plutus_data ( & appendix) ,
327
- version,
331
+ version : 1 ,
328
332
}
329
333
. into ( )
330
334
} ,
@@ -377,33 +381,6 @@ mod tests {
377
381
}
378
382
}
379
383
380
- fn test_datum_v1_aura_and_grandpa_only ( ) -> RegisterValidatorDatum {
381
- RegisterValidatorDatum :: V1 {
382
- stake_ownership : AdaBasedStaking {
383
- pub_key : StakePoolPublicKey ( hex ! ( "bfbee74ab533f40979101057f96de62e95233f2a5216eb16b54106f09fd7350d" ) ) ,
384
- signature : MainchainSignature ( hex ! ( "28d1c3b7df297a60d24a3f88bc53d7029a8af35e8dd876764fd9e7a24203a3482a98263cc8ba2ddc7dc8e7faea31c2e7bad1f00e28c43bc863503e3172dc6b0a" ) . into ( ) ) ,
385
- } ,
386
- sidechain_pub_key : SidechainPublicKey ( hex ! ( "02fe8d1eb1bcb3432b1db5833ff5f2226d9cb5e65cee430558c18ed3a3c86ce1af" ) . into ( ) ) ,
387
- sidechain_signature : SidechainSignature ( hex ! ( "f8ec6c7f935d387aaa1693b3bf338cbb8f53013da8a5a234f9c488bacac01af259297e69aee0df27f553c0a1164df827d016125c16af93c99be2c19f36d2f66e" ) . into ( ) ) ,
388
- registration_utxo : UtxoId {
389
- tx_hash : McTxHash ( hex ! ( "cdefe62b0a0016c2ccf8124d7dda71f6865283667850cc7b471f761d2bc1eb13" ) ) ,
390
- index : UtxoIndex ( 1 ) ,
391
- } ,
392
- own_pkh : MainchainKeyHash ( hex ! ( "aabbccddeeff00aabbccddeeff00aabbccddeeff00aabbccddeeff00" ) ) ,
393
- keys : CandidateKeys ( vec ! [
394
- CandidateKey :: new( AURA ,
395
- hex!( "d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d" )
396
- . into( ) ,
397
- ) ,
398
- CandidateKey :: new(
399
- GRANDPA ,
400
- hex!( "88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee" )
401
- . into( ) ,
402
- ) ,
403
- ] )
404
- }
405
- }
406
-
407
384
fn test_datum_v1 ( ) -> RegisterValidatorDatum {
408
385
RegisterValidatorDatum :: V1 {
409
386
stake_ownership : AdaBasedStaking {
@@ -541,20 +518,14 @@ mod tests {
541
518
}
542
519
543
520
#[ test]
544
- fn valid_v1_registration_to_plutus_data ( ) {
545
- let plutus_data: PlutusData = test_datum_v1 ( ) . into ( ) ;
546
- assert_eq ! ( plutus_data_to_json( plutus_data) , test_versioned_datum_v1_json( ) )
547
- }
548
-
549
- #[ test]
550
- fn valid_v1_registration_to_plutus_data_outputs_v0_for_aura_and_grandpa_only ( ) {
551
- let plutus_data: PlutusData = test_datum_v1_aura_and_grandpa_only ( ) . into ( ) ;
521
+ fn v0_registration_to_plutus_data ( ) {
522
+ let plutus_data: PlutusData = test_datum_v0 ( ) . into ( ) ;
552
523
assert_eq ! ( plutus_data_to_json( plutus_data) , test_versioned_datum_v0_json( ) )
553
524
}
554
525
555
526
#[ test]
556
- fn v0_registration_to_plutus_data ( ) {
557
- let plutus_data: PlutusData = test_datum_v0 ( ) . into ( ) ;
558
- assert_eq ! ( plutus_data_to_json( plutus_data) , test_versioned_datum_v0_json ( ) )
527
+ fn valid_v1_registration_to_plutus_data ( ) {
528
+ let plutus_data: PlutusData = test_datum_v1 ( ) . into ( ) ;
529
+ assert_eq ! ( plutus_data_to_json( plutus_data) , test_versioned_datum_v1_json ( ) )
559
530
}
560
531
}
0 commit comments