@@ -145,23 +145,23 @@ impl Costmdls {
145145#[ wasm_bindgen]
146146#[ derive( Clone , Debug , Eq , Ord , PartialEq , PartialOrd ) ]
147147pub struct ExUnitPrices {
148- mem_price : Coin ,
149- step_price : Coin ,
148+ mem_price : SubCoin ,
149+ step_price : SubCoin ,
150150}
151151
152152to_from_bytes ! ( ExUnitPrices ) ;
153153
154154#[ wasm_bindgen]
155155impl ExUnitPrices {
156- pub fn mem_price ( & self ) -> Coin {
156+ pub fn mem_price ( & self ) -> SubCoin {
157157 self . mem_price . clone ( )
158158 }
159159
160- pub fn step_price ( & self ) -> Coin {
160+ pub fn step_price ( & self ) -> SubCoin {
161161 self . step_price . clone ( )
162162 }
163163
164- pub fn new ( mem_price : & Coin , step_price : & Coin ) -> Self {
164+ pub fn new ( mem_price : & SubCoin , step_price : & SubCoin ) -> Self {
165165 Self {
166166 mem_price : mem_price. clone ( ) ,
167167 step_price : step_price. clone ( ) ,
@@ -434,54 +434,40 @@ impl Redeemer {
434434}
435435
436436#[ wasm_bindgen]
437- #[ derive( Clone , Debug , Eq , Ord , PartialEq , PartialOrd ) ]
437+ #[ derive( Copy , Clone , Debug , Eq , Ord , PartialEq , PartialOrd ) ]
438438pub enum RedeemerTagKind {
439439 Spend ,
440440 Mint ,
441441 Cert ,
442442 Reward ,
443443}
444444
445- // TODO: simplify these two into one struct if possible: see NetworkId
446- #[ derive( Clone , Debug , Eq , Ord , PartialEq , PartialOrd ) ]
447- enum RedeemerTagEnum {
448- Spend ,
449- Mint ,
450- Cert ,
451- Reward ,
452- }
453-
454445#[ wasm_bindgen]
455446#[ derive( Clone , Debug , Eq , Ord , PartialEq , PartialOrd ) ]
456- pub struct RedeemerTag ( RedeemerTagEnum ) ;
447+ pub struct RedeemerTag ( RedeemerTagKind ) ;
457448
458449to_from_bytes ! ( RedeemerTag ) ;
459450
460451#[ wasm_bindgen]
461452impl RedeemerTag {
462453 pub fn new_spend ( ) -> Self {
463- Self ( RedeemerTagEnum :: Spend )
454+ Self ( RedeemerTagKind :: Spend )
464455 }
465456
466457 pub fn new_mint ( ) -> Self {
467- Self ( RedeemerTagEnum :: Mint )
458+ Self ( RedeemerTagKind :: Mint )
468459 }
469460
470461 pub fn new_cert ( ) -> Self {
471- Self ( RedeemerTagEnum :: Cert )
462+ Self ( RedeemerTagKind :: Cert )
472463 }
473464
474465 pub fn new_reward ( ) -> Self {
475- Self ( RedeemerTagEnum :: Reward )
466+ Self ( RedeemerTagKind :: Reward )
476467 }
477468
478469 pub fn kind ( & self ) -> RedeemerTagKind {
479- match & self . 0 {
480- RedeemerTagEnum :: Spend => RedeemerTagKind :: Spend ,
481- RedeemerTagEnum :: Mint => RedeemerTagKind :: Mint ,
482- RedeemerTagEnum :: Cert => RedeemerTagKind :: Cert ,
483- RedeemerTagEnum :: Reward => RedeemerTagKind :: Reward ,
484- }
470+ self . 0
485471 }
486472}
487473
@@ -722,10 +708,10 @@ impl Deserialize for ExUnitPrices {
722708 let mut read_len = CBORReadLen :: new ( len) ;
723709 read_len. read_elems ( 2 ) ?;
724710 let mem_price = ( || -> Result < _ , DeserializeError > {
725- Ok ( Coin :: deserialize ( raw) ?)
711+ Ok ( SubCoin :: deserialize ( raw) ?)
726712 } ) ( ) . map_err ( |e| e. annotate ( "mem_price" ) ) ?;
727713 let step_price = ( || -> Result < _ , DeserializeError > {
728- Ok ( Coin :: deserialize ( raw) ?)
714+ Ok ( SubCoin :: deserialize ( raw) ?)
729715 } ) ( ) . map_err ( |e| e. annotate ( "step_price" ) ) ?;
730716 match len {
731717 cbor_event:: Len :: Len ( _) => ( ) ,
@@ -1020,74 +1006,35 @@ impl Deserialize for Redeemer {
10201006 }
10211007}
10221008
1023- impl cbor_event:: se:: Serialize for RedeemerTagEnum {
1009+ impl cbor_event:: se:: Serialize for RedeemerTagKind {
10241010 fn serialize < ' se , W : Write > ( & self , serializer : & ' se mut Serializer < W > ) -> cbor_event:: Result < & ' se mut Serializer < W > > {
10251011 match self {
1026- RedeemerTagEnum :: Spend => {
1012+ RedeemerTagKind :: Spend => {
10271013 serializer. write_unsigned_integer ( 0u64 )
10281014 } ,
1029- RedeemerTagEnum :: Mint => {
1015+ RedeemerTagKind :: Mint => {
10301016 serializer. write_unsigned_integer ( 1u64 )
10311017 } ,
1032- RedeemerTagEnum :: Cert => {
1018+ RedeemerTagKind :: Cert => {
10331019 serializer. write_unsigned_integer ( 2u64 )
10341020 } ,
1035- RedeemerTagEnum :: Reward => {
1021+ RedeemerTagKind :: Reward => {
10361022 serializer. write_unsigned_integer ( 3u64 )
10371023 } ,
10381024 }
10391025 }
10401026}
10411027
1042- impl Deserialize for RedeemerTagEnum {
1028+ impl Deserialize for RedeemerTagKind {
10431029 fn deserialize < R : BufRead + Seek > ( raw : & mut Deserializer < R > ) -> Result < Self , DeserializeError > {
10441030 ( || -> Result < _ , DeserializeError > {
1045- let initial_position = raw. as_mut_ref ( ) . seek ( SeekFrom :: Current ( 0 ) ) . unwrap ( ) ;
1046- match ( |raw : & mut Deserializer < _ > | -> Result < _ , DeserializeError > {
1047- let i0_value = raw. unsigned_integer ( ) ?;
1048- if i0_value != 0 {
1049- return Err ( DeserializeFailure :: FixedValueMismatch { found : Key :: Uint ( i0_value) , expected : Key :: Uint ( 0 ) } . into ( ) ) ;
1050- }
1051- Ok ( ( ) )
1052- } ) ( raw)
1053- {
1054- Ok ( ( ) ) => return Ok ( RedeemerTagEnum :: Spend ) ,
1055- Err ( _) => raw. as_mut_ref ( ) . seek ( SeekFrom :: Start ( initial_position) ) . unwrap ( ) ,
1056- } ;
1057- match ( |raw : & mut Deserializer < _ > | -> Result < _ , DeserializeError > {
1058- let i1_value = raw. unsigned_integer ( ) ?;
1059- if i1_value != 1 {
1060- return Err ( DeserializeFailure :: FixedValueMismatch { found : Key :: Uint ( i1_value) , expected : Key :: Uint ( 1 ) } . into ( ) ) ;
1061- }
1062- Ok ( ( ) )
1063- } ) ( raw)
1064- {
1065- Ok ( ( ) ) => return Ok ( RedeemerTagEnum :: Mint ) ,
1066- Err ( _) => raw. as_mut_ref ( ) . seek ( SeekFrom :: Start ( initial_position) ) . unwrap ( ) ,
1067- } ;
1068- match ( |raw : & mut Deserializer < _ > | -> Result < _ , DeserializeError > {
1069- let i2_value = raw. unsigned_integer ( ) ?;
1070- if i2_value != 2 {
1071- return Err ( DeserializeFailure :: FixedValueMismatch { found : Key :: Uint ( i2_value) , expected : Key :: Uint ( 2 ) } . into ( ) ) ;
1072- }
1073- Ok ( ( ) )
1074- } ) ( raw)
1075- {
1076- Ok ( ( ) ) => return Ok ( RedeemerTagEnum :: Cert ) ,
1077- Err ( _) => raw. as_mut_ref ( ) . seek ( SeekFrom :: Start ( initial_position) ) . unwrap ( ) ,
1078- } ;
1079- match ( |raw : & mut Deserializer < _ > | -> Result < _ , DeserializeError > {
1080- let i3_value = raw. unsigned_integer ( ) ?;
1081- if i3_value != 3 {
1082- return Err ( DeserializeFailure :: FixedValueMismatch { found : Key :: Uint ( i3_value) , expected : Key :: Uint ( 3 ) } . into ( ) ) ;
1083- }
1084- Ok ( ( ) )
1085- } ) ( raw)
1086- {
1087- Ok ( ( ) ) => return Ok ( RedeemerTagEnum :: Reward ) ,
1088- Err ( _) => raw. as_mut_ref ( ) . seek ( SeekFrom :: Start ( initial_position) ) . unwrap ( ) ,
1089- } ;
1090- Err ( DeserializeError :: new ( "RedeemerTagEnum" , DeserializeFailure :: NoVariantMatched . into ( ) ) )
1031+ match raw. unsigned_integer ( ) {
1032+ Ok ( 0 ) => Ok ( RedeemerTagKind :: Spend ) ,
1033+ Ok ( 1 ) => Ok ( RedeemerTagKind :: Mint ) ,
1034+ Ok ( 2 ) => Ok ( RedeemerTagKind :: Cert ) ,
1035+ Ok ( 3 ) => Ok ( RedeemerTagKind :: Reward ) ,
1036+ Ok ( _) | Err ( _) => Err ( DeserializeFailure :: NoVariantMatched . into ( ) ) ,
1037+ }
10911038 } ) ( ) . map_err ( |e| e. annotate ( "RedeemerTagEnum" ) )
10921039 }
10931040}
@@ -1100,7 +1047,7 @@ impl cbor_event::se::Serialize for RedeemerTag {
11001047
11011048impl Deserialize for RedeemerTag {
11021049 fn deserialize < R : BufRead + Seek > ( raw : & mut Deserializer < R > ) -> Result < Self , DeserializeError > {
1103- Ok ( Self ( RedeemerTagEnum :: deserialize ( raw) ?) )
1050+ Ok ( Self ( RedeemerTagKind :: deserialize ( raw) ?) )
11041051 }
11051052}
11061053
0 commit comments