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 {
564564 }
565565 }
566566
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.
568569 #[ 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 > {
576571 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+ ) ,
580577 0 ,
581578 )
582579 }
Original file line number Diff line number Diff line change @@ -793,21 +793,16 @@ where
793793 rand_epoch : ChainEpoch ,
794794 entropy : & [ u8 ] ,
795795 ) -> 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+ ) ?;
798801 // TODO: Check error code
799- let rand = self
800- . call_manager
802+ self . call_manager
801803 . externs ( )
802804 . 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 ( )
811806 }
812807
813808 #[ allow( unused) ]
@@ -817,22 +812,16 @@ where
817812 rand_epoch : ChainEpoch ,
818813 entropy : & [ u8 ] ,
819814 ) -> 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+ ) ?;
822820 // TODO: Check error code
823- let rand = self
824- . call_manager
821+ self . call_manager
825822 . externs ( )
826823 . 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 ( )
836825 }
837826}
838827
You can’t perform that action at this time.
0 commit comments