How is gasPrice determined in Frontier EVM?
I found the following settings in the Frontier/template/src/runtime/lib.rs
impl pallet_evm::Config for Runtime {
type FeeCalculator = BaseFee;
type GasWeightMapping = FixedGasWeightMapping;
type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping<Self>;
type CallOrigin = EnsureAddressTruncated;
type WithdrawOrigin = EnsureAddressTruncated;
type AddressMapping = HashedAddressMapping<BlakeTwo256>;
type Currency = Balances;
type Event = Event;
type PrecompilesType = FrontierPrecompiles<Self>;
type PrecompilesValue = PrecompilesValue;
type ChainId = EVMChainId;
type BlockGasLimit = BlockGasLimit;
type Runner = pallet_evm::runner::stack::Runner<Self>;
type OnChargeTransaction = ();
type FindAuthor = FindAuthorTruncated<Aura>;
}
impl pallet_base_fee::Config for Runtime {
type Event = Event;
type Threshold = BaseFeeThreshold;
type DefaultBaseFeePerGas = DefaultBaseFeePerGas;
type DefaultElasticity = DefaultElasticity;
}
Can I modifiy fn weight_to_gas(weight: Weight)
to always return zero?
How can I set it up so there is no charge when certain accounts make certain Ethereum contract transactions?