public void ReflectionVirtualMachineFeature_OnInitialize_RulesAdded() { Network network = KnownNetworks.StratisRegTest; var chain = new ConcurrentChain(network); var contractState = new ContractStateRoot(); var executorFactory = new Mock <ISmartContractExecutorFactory>(); var loggerFactory = new ExtendedLoggerFactory(); var consensusRules = new SmartContractPowConsensusRuleEngine( chain, new Mock <ICheckpoints>().Object, new Configuration.Settings.ConsensusSettings(), DateTimeProvider.Default, executorFactory.Object, loggerFactory, network, new Base.Deployments.NodeDeployments(network, chain), contractState, new Mock <IReceiptRepository>().Object, new Mock <ISenderRetriever>().Object, new Mock <ICoinView>().Object, new Mock <IChainState>().Object, new InvalidBlockHashStore(new DateTimeProvider())); var feature = new ReflectionVirtualMachineFeature(loggerFactory, network); feature.Initialize(); Assert.Single(network.Consensus.FullValidationRules.Where(r => r.GetType() == typeof(SmartContractFormatRule))); }
public void ReflectionVirtualMachineFeature_OnInitialize_RulesAdded() { Network network = KnownNetworks.StratisRegTest; var loggerFactory = new ExtendedLoggerFactory(); var feature = new ReflectionVirtualMachineFeature(loggerFactory, network); feature.Initialize(); Assert.Single(network.Consensus.Rules.Where(r => r.GetType() == typeof(SmartContractFormatRule))); }
public void ReflectionVirtualMachineFeature_OnInitialize_RulesAdded() { Network network = Network.StratisRegTest; var chain = new ConcurrentChain(network); var contractState = new ContractStateRepositoryRoot(); var executorFactory = new Mock <ISmartContractExecutorFactory>(); var loggerFactory = new ExtendedLoggerFactory(); var receiptStorage = new Mock <ISmartContractReceiptStorage>(); var consensusRules = new SmartContractConsensusRules( chain, new Mock <ICheckpoints>().Object, new Configuration.Settings.ConsensusSettings(), DateTimeProvider.Default, executorFactory.Object, loggerFactory, network, new Base.Deployments.NodeDeployments(network, chain), contractState, new Mock <ILookaheadBlockPuller>().Object, new Mock <CoinView>().Object, receiptStorage.Object); var feature = new ReflectionVirtualMachineFeature(consensusRules, loggerFactory); feature.Initialize(); Assert.Single(consensusRules.Rules.Where(r => r.GetType() == typeof(SmartContractFormatRule))); }