|
35 | 35 | #[precompile::public("getAlphaPrice(uint16)")] |
36 | 36 | #[precompile::view] |
37 | 37 | fn get_alpha_price(_handle: &mut impl PrecompileHandle, netuid: u16) -> EvmResult<U256> { |
38 | | - let price = |
| 38 | + let current_alpha_price = |
39 | 39 | <pallet_subtensor_swap::Pallet<R> as SwapHandler>::current_alpha_price(netuid.into()); |
| 40 | + let price = current_alpha_price.saturating_mul(U96F32::from_num(1_000_000_000)); |
40 | 41 | let price: SubstrateBalance = price.saturating_to_num::<u64>().into(); |
41 | 42 | let price_eth = <R as pallet_evm::Config>::BalanceConverter::into_evm_balance(price) |
42 | 43 | .map(|amount| amount.into_u256()) |
|
48 | 49 | #[precompile::public("getMovingAlphaPrice(uint16)")] |
49 | 50 | #[precompile::view] |
50 | 51 | fn get_moving_alpha_price(_handle: &mut impl PrecompileHandle, netuid: u16) -> EvmResult<U256> { |
51 | | - let price: U96F32 = pallet_subtensor::Pallet::<R>::get_moving_alpha_price(netuid.into()); |
| 52 | + let moving_alpha_price: U96F32 = |
| 53 | + pallet_subtensor::Pallet::<R>::get_moving_alpha_price(netuid.into()); |
| 54 | + let price = moving_alpha_price.saturating_mul(U96F32::from_num(1_000_000_000)); |
52 | 55 | let price: SubstrateBalance = price.saturating_to_num::<u64>().into(); |
53 | 56 | let price_eth = <R as pallet_evm::Config>::BalanceConverter::into_evm_balance(price) |
54 | 57 | .map(|amount| amount.into_u256()) |
@@ -202,7 +205,8 @@ where |
202 | 205 | } |
203 | 206 | } |
204 | 207 |
|
205 | | - let price: SubstrateBalance = sum_alpha_price.saturating_to_num::<u64>().into(); |
| 208 | + let price = sum_alpha_price.saturating_mul(U96F32::from_num(1_000_000_000)); |
| 209 | + let price: SubstrateBalance = price.saturating_to_num::<u64>().into(); |
206 | 210 | let price_eth = <R as pallet_evm::Config>::BalanceConverter::into_evm_balance(price) |
207 | 211 | .map(|amount| amount.into_u256()) |
208 | 212 | .ok_or(ExitError::InvalidRange)?; |
|
0 commit comments