示例#1
0
        public ENSRegistryService(IEthApiContractService ethApiContractService, string contractAddress)
        {
            ContractAddress = contractAddress;
#if !DOTNET35
            ContractHandler = ethApiContractService.GetContractHandler(contractAddress);
#endif
        }
示例#2
0
 public RelayHubManager(
     IEthApiContractService ethApiContractService,
     IRelayQuery relayQuery)
 {
     _ethApiContractService = ethApiContractService;
     _relayQuery            = relayQuery;
 }
示例#3
0
 public EventHandlerFactory(
     IEthApiContractService ethApi,
     IEventSubscriptionStateRepository stateFactory,
     IEventContractQueryConfigurationRepository contractQueryFactory = null,
     IEventAggregatorRepository eventAggregatorRepository            = null,
     IEthGetTransactionByHash getTransactionProxy                     = null,
     ISubscriberQueueRepository subscriberQueueRepository             = null,
     ISubscriberQueueFactory subscriberQueueFactory                   = null,
     ISubscriberSearchIndexRepository subscriberSearchIndexRepository = null,
     ISubscriberSearchIndexFactory subscriberSearchIndexFactory       = null,
     IEventRuleRepository eventRuleRepository = null,
     ISubscriberStorageRepository subscriberStorageRepository = null,
     ISubscriberStorageFactory subscriberRepositoryFactory    = null)
 {
     EthApi                          = ethApi;
     StateFactory                    = stateFactory;
     ContractQueryFactory            = contractQueryFactory;
     EventAggregatorRepository       = eventAggregatorRepository;
     GetTransactionProxy             = getTransactionProxy;
     SubscriberQueueRepository       = subscriberQueueRepository;
     SubscriberQueueFactory          = subscriberQueueFactory;
     SubscriberSearchIndexRepository = subscriberSearchIndexRepository;
     SubscriberSearchIndexFactory    = subscriberSearchIndexFactory;
     EventRuleRepository             = eventRuleRepository;
     SubscriberStorageRepository     = subscriberStorageRepository;
     SubscriberRepositoryFactory     = subscriberRepositoryFactory;
 }
示例#4
0
 public LogOrchestrator(IEthApiContractService ethApi,
                        IEnumerable <ProcessorHandler <FilterLog> > logProcessors, NewFilterInput filterInput = null)
 {
     EthApi         = ethApi;
     _logProcessors = logProcessors;
     _filterInput   = filterInput ?? new NewFilterInput();
 }
        public PublicResolverService(IEthApiContractService ethApiContractService, string contractAddress)
        {
            ContractAddress = contractAddress;
#if !DOTNET35
            ContractHandler = ethApiContractService.GetContractHandler(contractAddress);
#endif
        }
        public LogsProcessorBuilder(IEthApiContractService ethApiContractService, Action <FilterInputBuilder <TEventDto> > configureFilterBuilder, params string[] contractAddresses)
            : base(ethApiContractService)
        {
            var filterBuilder = new FilterInputBuilder <TEventDto>();

            configureFilterBuilder(filterBuilder);
            Filters.Add(filterBuilder.Build(contractAddresses));
        }
示例#7
0
 public LogOrchestrator(IEthApiContractService ethApi,
                        IEnumerable <ProcessorHandler <FilterLog> > logProcessors, NewFilterInput filterInput = null, int defaultNumberOfBlocksPerRequest = 100, int retryWeight = 0)
 {
     EthApi                     = ethApi;
     _logProcessors             = logProcessors;
     _filterInput               = filterInput ?? new NewFilterInput();
     _blockRangeRequestStrategy = new BlockRangeRequestStrategy(defaultNumberOfBlocksPerRequest, retryWeight);
 }
示例#8
0
        public LogsProcessorBuilder(IEthApiContractService eth, params NewFilterInput[] filters)
        {
            Eth = eth ?? throw new ArgumentNullException(nameof(eth));

            if (filters != null)
            {
                Filters.AddRange(filters);
            }
        }
示例#9
0
 public RelayHubManager(
     GSNOptions options,
     IEthApiContractService ethApiContractService,
     IRelayClient relayClient)
 {
     _options = options;
     _ethApiContractService = ethApiContractService;
     _relayClient           = relayClient;
 }
示例#10
0
 public RelayQuery(
     int lookupLimitBlocks,
     IEthApiContractService ethApiContractService,
     IRelayClient relayClient)
 {
     _lookupLimitBlocks     = lookupLimitBlocks;
     _ethApiContractService = ethApiContractService;
     _relayClient           = relayClient;
 }
示例#11
0
 public ContractQueryEventHandler(
     IEventSubscription subscription,
     long id,
     IEthApiContractService ethApi,
     ContractQueryConfiguration queryConfig) : base(subscription, id)
 {
     EthApi        = ethApi ?? throw new System.ArgumentNullException(nameof(ethApi));
     Configuration = queryConfig ?? throw new System.ArgumentNullException(nameof(queryConfig));
 }
示例#12
0
 public BlockCrawlOrchestrator(IEthApiContractService ethApi, IEnumerable <BlockProcessingSteps> processingStepsCollection)
 {
     this.ProcessingStepsCollection = processingStepsCollection;
     EthApi           = ethApi;
     BlockCrawlerStep = new BlockCrawlerStep(ethApi);
     TransactionWithBlockCrawlerStep   = new TransactionCrawlerStep(ethApi);
     TransactionWithReceiptCrawlerStep = new TransactionReceiptCrawlerStep(ethApi);
     ContractCreatedCrawlerStep        = new ContractCreatedCrawlerStep(ethApi);
     FilterLogCrawlerStep = new FilterLogCrawlerStep(ethApi);
 }
        public static async Task <TransactionReceiptVO> GetTransactionReceiptVO(this IEthApiContractService eth, HexBigInteger blockNumber, string transactionHash)
        {
            var tx      = eth.Transactions.GetTransactionByHash.SendRequestAsync(transactionHash);
            var receipt = eth.Transactions.GetTransactionReceipt.SendRequestAsync(transactionHash);
            var block   = eth.Blocks.GetBlockWithTransactionsHashesByNumber.SendRequestAsync(blockNumber);

            await Task.WhenAll(tx, receipt, block).ConfigureAwait(false);

            return(new TransactionReceiptVO(block.Result, tx.Result, receipt.Result, receipt.Result.HasErrors() ?? false));
        }
示例#14
0
        public LogsProcessorBuilder(IEthApiContractService eth, string[] contractAddresses)
        {
            Eth = eth ?? throw new ArgumentNullException(nameof(eth));
            ContractAddresses = contractAddresses;

            if (ContractAddresses != null)
            {
                SetContractAddressFilter(ContractAddresses);
            }
        }
示例#15
0
 public ENSService(IEthApiContractService ethApiContractService, string ensRegistryAddress = "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e")
 {
     if (ethApiContractService == null)
     {
         throw new ArgumentNullException(nameof(ethApiContractService));
     }
     _ethApiContractService = ethApiContractService;
     EnsRegistryAddress     = ensRegistryAddress ?? throw new ArgumentNullException(nameof(ensRegistryAddress));
     _ensUtil           = new EnsUtil();
     ENSRegistryService = new ENSRegistryService(ethApiContractService, EnsRegistryAddress);
 }
示例#16
0
        public EthTLSService(IEthApiContractService ethApiContractService, string ensRegistryAddress = "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e")
        {
            if (string.IsNullOrEmpty(ensRegistryAddress))
            {
                throw new ArgumentException("ensRegistryAddress cannot be null", nameof(ensRegistryAddress));
            }
            _ethApiContractService = ethApiContractService;

            EnsRegistryAddress = ensRegistryAddress;
            _ensUtil           = new EnsUtil();
            TLS         = "eth";
            TLSNameHash = _ensUtil.GetNameHash(TLS).HexToByteArray();
        }
        public WritingTransfersToTheAzureStorage(string azureConnectionString, string tablePrefix, uint numberOfBlocksToProcess, TimeSpan maxDuration, uint maxBlocksPerBatch)
        {
            cancellationTokenSource = new CancellationTokenSource(maxDuration);
            _builder = new LogsProcessorBuilder("https://rinkeby.infura.io/v3/7238211010344719ad14a89db874158c")
                       .Filter <TransferEventDto>()
                       .StoreInAzureTable(azureConnectionString, tablePrefix, (Predicate <EventLog <TransferEventDto> >)((tfr) => TransferCallback(tfr)))
                       .OnBatchProcessed((args) => Output(args.LastRangeProcessed))
                       .SetBlocksPerBatch(maxBlocksPerBatch)
                       .SetLog(_log.ToILog());

            ethApiContractService = _builder.Eth;

            NumberOfBlocksToProcess = numberOfBlocksToProcess;
        }
 public GSNTransactionManager(
     GSNOptions options,
     IRelayer relayer,
     IEthApiContractService ethApiContractService,
     IClient client,
     IRelayClient relayClient,
     string privateKey)
 {
     _options = options;
     _relayer = relayer;
     _ethApiContractService = ethApiContractService;
     _client      = client;
     _relayClient = relayClient;
     _privateKey  = privateKey;
 }
示例#19
0
        public WritingTransfersToTheConsole(string url, ILog log, uint numberOfBlocksToProcess, TimeSpan maxDuration, uint maxBlocksPerBatch)
        {
            cancellationTokenSource = new CancellationTokenSource(maxDuration);
            _builder = new LogsProcessorBuilder <TransferEventDto>(url)
                       .OnEvents((events) => Output(events))
                       .OnBatchProcessed((args) =>
            {
                HandleBatchProcessed(args.LastRangeProcessed);
            })
                       .SetBlocksPerBatch(maxBlocksPerBatch)
                       .SetLog(log);

            ethApiContractService = _builder.Eth;
            Log = log;
            NumberOfBlocksToProcess = numberOfBlocksToProcess;
        }
 // TODO: Remove contractAddress parameter (replace by `To` paramenter of `TransactionInput`)
 public GSNTransactionManager(
     GSNOptions options,
     IRelayHubManager relayHubManager,
     IEthApiContractService ethApiContractService,
     IClient client,
     IRelayClient relayClient,
     IRelayPolicy policy,
     string privateKey,
     string contractAddress)
 {
     _options               = options;
     _relayHubManager       = relayHubManager;
     _ethApiContractService = ethApiContractService;
     _client          = client;
     _relayClient     = relayClient;
     _relayPolicy     = policy;
     _privateKey      = privateKey;
     _contractAddress = contractAddress;
 }
示例#21
0
 public CrawlerStep(
     IEthApiContractService ethApi
     )
 {
     EthApi = ethApi;
 }
 public BlockchainLogProcessingService(IEthApiContractService ethApiContractService)
 {
     _ethApiContractService = ethApiContractService;
 }
 public static ILogsProcessorBuilder LogsProcessor
     (this IEthApiContractService ethApiContractService, params NewFilterInput[] filters) => new LogsProcessorBuilder(ethApiContractService, filters);
 public static ILogsProcessorBuilder LogsProcessor
     (this IEthApiContractService ethApiContractService, string[] contractAddresses) => new LogsProcessorBuilder(ethApiContractService, contractAddresses);
 public static ILogsProcessorBuilder LogsProcessor
     (this IEthApiContractService ethApiContractService) => new LogsProcessorBuilder(ethApiContractService);
示例#26
0
 public BlockchainProcessingService(IEthApiContractService ethApiContractService)
 {
     _ethApiContractService = ethApiContractService;
     Logs   = new BlockchainLogProcessingService(ethApiContractService);
     Blocks = new BlockchainBlockProcessingService(ethApiContractService);
 }
示例#27
0
 public static FilterInputBuilder <TEventDTO> GetFilterBuilder <TEventDTO>(this IEthApiContractService contractService) where TEventDTO : class, IEventDTO, new()
 {
     return(new FilterInputBuilder <TEventDTO>());
 }
示例#28
0
 public ContractCreatedCrawlerStep(IEthApiContractService ethApiContractService) : base(ethApiContractService)
 {
 }
 public FilterLogCrawlerStep(IEthApiContractService ethApiContractService) : base(ethApiContractService)
 {
 }
示例#30
0
 public TransactionReceiptCrawlerStep(IEthApiContractService ethApiContractService) : base(ethApiContractService)
 {
 }