File tree Expand file tree Collapse file tree 2 files changed +22
-36
lines changed Expand file tree Collapse file tree 2 files changed +22
-36
lines changed Original file line number Diff line number Diff line change @@ -564,19 +564,16 @@ impl PriceList {
564
564
}
565
565
}
566
566
567
- /// Returns the base cost of the gas required for getting randomness from the client.
567
+ /// Returns the cost of the gas required for getting randomness from the client, based on the
568
+ /// numebr of bytes of entropy.
568
569
#[ inline]
569
- pub fn on_get_randomness_base ( & self ) -> GasCharge < ' static > {
570
- GasCharge :: new ( "OnGetRandomnessBase" , self . get_randomness_base , 0 )
571
- }
572
-
573
- /// Returns the gas required for getting randomness from the client based on the number of bytes of randomness.
574
- #[ inline]
575
- pub fn on_get_randomness_per_byte ( & self , randomness_size : usize ) -> GasCharge < ' static > {
570
+ pub fn on_get_randomness ( & self , entropy_size : usize ) -> GasCharge < ' static > {
576
571
GasCharge :: new (
577
- "OnGetRandomnessPerByte" ,
578
- self . get_randomness_per_byte
579
- . saturating_mul ( randomness_size as i64 ) ,
572
+ "OnGetRandomness" ,
573
+ self . get_randomness_base . saturating_add (
574
+ self . get_randomness_per_byte
575
+ . saturating_mul ( entropy_size as i64 ) ,
576
+ ) ,
580
577
0 ,
581
578
)
582
579
}
Original file line number Diff line number Diff line change @@ -793,21 +793,16 @@ where
793
793
rand_epoch : ChainEpoch ,
794
794
entropy : & [ u8 ] ,
795
795
) -> Result < [ u8 ; RANDOMNESS_LENGTH ] > {
796
- self . call_manager
797
- . charge_gas ( self . call_manager . price_list ( ) . on_get_randomness_base ( ) ) ?;
796
+ self . call_manager . charge_gas (
797
+ self . call_manager
798
+ . price_list ( )
799
+ . on_get_randomness ( entropy. len ( ) ) ,
800
+ ) ?;
798
801
// TODO: Check error code
799
- let rand = self
800
- . call_manager
802
+ self . call_manager
801
803
. externs ( )
802
804
. get_chain_randomness ( personalization, rand_epoch, entropy)
803
- . or_illegal_argument ( ) ?;
804
- self . call_manager
805
- . charge_gas (
806
- self . call_manager
807
- . price_list ( )
808
- . on_get_randomness_per_byte ( rand. len ( ) ) ,
809
- )
810
- . map ( |_| rand)
805
+ . or_illegal_argument ( )
811
806
}
812
807
813
808
#[ allow( unused) ]
@@ -817,22 +812,16 @@ where
817
812
rand_epoch : ChainEpoch ,
818
813
entropy : & [ u8 ] ,
819
814
) -> Result < [ u8 ; RANDOMNESS_LENGTH ] > {
820
- self . call_manager
821
- . charge_gas ( self . call_manager . price_list ( ) . on_get_randomness_base ( ) ) ?;
815
+ self . call_manager . charge_gas (
816
+ self . call_manager
817
+ . price_list ( )
818
+ . on_get_randomness ( entropy. len ( ) ) ,
819
+ ) ?;
822
820
// TODO: Check error code
823
- let rand = self
824
- . call_manager
821
+ self . call_manager
825
822
. externs ( )
826
823
. get_beacon_randomness ( personalization, rand_epoch, entropy)
827
- . or_illegal_argument ( ) ?;
828
-
829
- self . call_manager
830
- . charge_gas (
831
- self . call_manager
832
- . price_list ( )
833
- . on_get_randomness_per_byte ( rand. len ( ) ) ,
834
- )
835
- . map ( |_| rand)
824
+ . or_illegal_argument ( )
836
825
}
837
826
}
838
827
You can’t perform that action at this time.
0 commit comments