Beispiel #1
0
        public InteropFeature(
            IConnectionManager connectionManager,
            IConversionRequestCoordinationService conversionRequestCoordinationService,
            IConversionRequestFeeService conversionRequestFeeService,
            IConversionRequestRepository conversionRequestRepository,
            IETHCompatibleClientProvider ethCompatibleClientProvider,
            IFederationManager federationManager,
            IFullNode fullNode,
            InteropPoller interopPoller,
            InteropSettings interopSettings,
            Network network)
        {
            this.connectionManager = connectionManager;
            this.conversionRequestCoordinationService = conversionRequestCoordinationService;
            this.conversionRequestFeeService          = conversionRequestFeeService;
            this.conversionRequestRepository          = conversionRequestRepository;
            this.ethClientProvider = ethCompatibleClientProvider;
            this.federationManager = federationManager;
            this.interopPoller     = interopPoller;
            this.interopSettings   = interopSettings;
            this.network           = network;

            var payloadProvider = (PayloadProvider)fullNode.Services.ServiceProvider.GetService(typeof(PayloadProvider));

            payloadProvider.AddPayload(typeof(ConversionRequestPayload));
            payloadProvider.AddPayload(typeof(FeeProposalPayload));
            payloadProvider.AddPayload(typeof(FeeAgreePayload));
        }
        public InteropPoller(NodeSettings nodeSettings, InteropSettings interopSettings, IAsyncProvider asyncProvider, INodeLifetime nodeLifetime,
                             ChainIndexer chainIndexer, IInitialBlockDownloadState initialBlockDownloadState, IFederationManager federationManager, IFederationHistory federationHistory,
                             IFederatedPegBroadcaster federatedPegBroadcaster, IConversionRequestRepository conversionRequestRepository, IInteropTransactionManager interopTransactionManager,
                             CounterChainNetworkWrapper counterChainNetworkWrapper, IETHCompatibleClientProvider clientProvider)
        {
            this.interopSettings             = interopSettings;
            this.clientProvider              = clientProvider;
            this.network                     = nodeSettings.Network;
            this.asyncProvider               = asyncProvider;
            this.nodeLifetime                = nodeLifetime;
            this.chainIndexer                = chainIndexer;
            this.initialBlockDownloadState   = initialBlockDownloadState;
            this.federationManager           = federationManager;
            this.federationHistory           = federationHistory;
            this.federatedPegBroadcaster     = federatedPegBroadcaster;
            this.conversionRequestRepository = conversionRequestRepository;
            this.interopTransactionManager   = interopTransactionManager;
            this.counterChainNetwork         = counterChainNetworkWrapper.CounterChainNetwork;
            this.logger = nodeSettings.LoggerFactory.CreateLogger(this.GetType().FullName);

            this.eventFilterCreationRequired = new Dictionary <DestinationChain, bool>()
            {
                { DestinationChain.ETH, true }
            };
        }
        public InteropPoller(NodeSettings nodeSettings,
                             InteropSettings interopSettings,
                             IEthereumClientBase ethereumClientBase,
                             IAsyncProvider asyncProvider,
                             INodeLifetime nodeLifetime,
                             ChainIndexer chainIndexer,
                             IInitialBlockDownloadState initialBlockDownloadState,
                             IFederationManager federationManager,
                             IFederationHistory federationHistory,
                             IFederatedPegBroadcaster federatedPegBroadcaster,
                             IConversionRequestRepository conversionRequestRepository,
                             IInteropTransactionManager interopTransactionManager,
                             CounterChainNetworkWrapper counterChainNetworkWrapper)
        {
            this.interopSettings             = interopSettings;
            this.ethereumClientBase          = ethereumClientBase;
            this.network                     = nodeSettings.Network;
            this.asyncProvider               = asyncProvider;
            this.nodeLifetime                = nodeLifetime;
            this.chainIndexer                = chainIndexer;
            this.initialBlockDownloadState   = initialBlockDownloadState;
            this.federationManager           = federationManager;
            this.federationHistory           = federationHistory;
            this.federatedPegBroadcaster     = federatedPegBroadcaster;
            this.conversionRequestRepository = conversionRequestRepository;
            this.interopTransactionManager   = interopTransactionManager;
            this.counterChainNetwork         = counterChainNetworkWrapper.CounterChainNetwork;
            this.logger = nodeSettings.LoggerFactory.CreateLogger(this.GetType().FullName);

            this.firstPoll = true;
        }