private static ITxFilter CreateBaseAuRaTxFilter( IMiningConfig miningConfig, AuRaNethermindApi api, IReadOnlyTxProcessorSource readOnlyTxProcessorSource, IDictionaryContractDataStore <TxPriorityContract.Destination>?minGasPricesContractDataStore, ISpecProvider specProvider) { IMinGasPriceTxFilter minGasPriceTxFilter = CreateStandardMinGasPriceTxFilter(miningConfig, specProvider); ITxFilter gasPriceTxFilter = minGasPriceTxFilter; if (minGasPricesContractDataStore != null) { gasPriceTxFilter = new MinGasPriceContractTxFilter(minGasPriceTxFilter, minGasPricesContractDataStore); } Address?registrar = api.ChainSpec?.Parameters.Registrar; if (registrar != null) { RegisterContract registerContract = new(api.AbiEncoder, registrar, readOnlyTxProcessorSource); CertifierContract certifierContract = new(api.AbiEncoder, registerContract, readOnlyTxProcessorSource); return(new TxCertifierFilter(certifierContract, gasPriceTxFilter, specProvider, api.LogManager)); } return(gasPriceTxFilter); }
public MinGasPriceContractTxFilter(IMinGasPriceTxFilter minGasPriceFilter, IDictionaryContractDataStore <TxPriorityContract.Destination> minGasPrices) { _minGasPriceFilter = minGasPriceFilter; _minGasPrices = minGasPrices ?? throw new ArgumentNullException(nameof(minGasPrices)); }