public void MatchesEventSignatureAndParameterCondition() { var fromCondition = ParameterCondition.Create( 1, ParameterConditionOperator.Equals, "0x12890d2cce102216644c59dae5baed380d84830c"); var eventSubscription = new EventSubscription <TestData.Contracts.StandardContract.TransferEvent>( parameterConditions: new IParameterCondition[] { fromCondition }); var transferLog = TestData.Contracts.StandardContract.SampleTransferLog(); var transferWithDifferentFromAddress = TestData.Contracts.StandardContract.SampleTransferLog(); transferWithDifferentFromAddress.Topics[1] = "0x00000000000000000000000013f022d72158410433cbd66f5dd8bf6d2d129924"; Assert.True(eventSubscription.IsLogForEvent(transferLog)); Assert.False(eventSubscription.IsLogForEvent(transferWithDifferentFromAddress)); }
public void FromEventAbis_SetsDefaultDependencies() { var state = new EventSubscriptionStateDto(); var eventHandlerHistoryDb = new Mock <IEventHandlerHistoryRepository>().Object; var contractAddresses = new[] { "0x243e72b69141f6af525a9a5fd939668ee9f2b354" }; var parameterConditions = new[] { ParameterCondition.Create(1, ParameterConditionOperator.Equals, "x") }; var eventSubscription = new EventSubscription( TestData.Contracts.StandardContract.ContractAbi.Events, contractAddresses, parameterConditions, 1, 2, state, eventHandlerHistoryDb); Assert.Equal(1, eventSubscription.Id); Assert.Equal(2, eventSubscription.SubscriberId); var eventHandlerManager = eventSubscription.HandlerManager as EventHandlerManager; Assert.NotNull(eventHandlerManager); Assert.Same(eventHandlerHistoryDb, eventHandlerManager.History); Assert.IsType <EventHandlerManager>(eventSubscription.HandlerManager); Assert.Same(state, eventSubscription.State); var eventMatcher = eventSubscription.Matcher as EventMatcher; Assert.NotNull(eventMatcher); var eventAddressMatcher = eventMatcher.AddressMatcher as EventAddressMatcher; Assert.NotNull(eventAddressMatcher); Assert.Equal(contractAddresses, eventAddressMatcher.AddressesToMatch); var parameterMatcher = eventMatcher.ParameterMatcher as EventParameterMatcher; Assert.NotNull(eventMatcher.ParameterMatcher); Assert.Equal(parameterConditions, parameterMatcher.ParameterConditions); }