protected override IEnumerable <ExtrinsicHandler> ProcessExtrinsics(IEnumerable <DeserializedExtrinsic> extrinsics, ulong blockNumber, CancellationToken stoppingToken) { foreach (var extrinsic in extrinsics) { Func <MarketplaceDbContext, ValueTask>?handler = extrinsic.Extrinsic.Call.Call switch { CallCall c => HandleContractCall(c, extrinsic.Extrinsic.Prefix.Value.AsT1.Address.PublicKey), TransferCall t => HandleTransfer(t, extrinsic.Extrinsic.Prefix.Value.AsT1.Address.PublicKey, blockNumber), _ => null }; if (handler != null) { yield return(new ExtrinsicHandler() { OnSaveToDb = handler, OnAfterSaveToDb = () => _eventBusService.PublishRegisterNft(stoppingToken), }); } } }