コード例 #1
0
 public MigrationStartupTask(
     BTCPayNetworkProvider networkProvider,
     StoreRepository storeRepository,
     ApplicationDbContextFactory dbContextFactory,
     UserManager <ApplicationUser> userManager,
     IOptions <LightningNetworkOptions> lightningOptions,
     SettingsRepository settingsRepository,
     AppService appService,
     IEnumerable <IPayoutHandler> payoutHandlers,
     BTCPayNetworkJsonSerializerSettings btcPayNetworkJsonSerializerSettings,
     LightningAddressService lightningAddressService,
     ILogger <MigrationStartupTask> logger)
 {
     _DBContextFactory = dbContextFactory;
     _StoreRepository  = storeRepository;
     _NetworkProvider  = networkProvider;
     _Settings         = settingsRepository;
     _appService       = appService;
     _payoutHandlers   = payoutHandlers;
     _btcPayNetworkJsonSerializerSettings = btcPayNetworkJsonSerializerSettings;
     _lightningAddressService             = lightningAddressService;
     _logger          = logger;
     _userManager     = userManager;
     LightningOptions = lightningOptions;
 }
コード例 #2
0
 public BitcoinLikePayoutHandler(BTCPayNetworkProvider btcPayNetworkProvider,
                                 ExplorerClientProvider explorerClientProvider, BTCPayNetworkJsonSerializerSettings jsonSerializerSettings,
                                 ApplicationDbContextFactory dbContextFactory, EventAggregator eventAggregator)
 {
     _btcPayNetworkProvider  = btcPayNetworkProvider;
     _explorerClientProvider = explorerClientProvider;
     _jsonSerializerSettings = jsonSerializerSettings;
     _dbContextFactory       = dbContextFactory;
     _eventAggregator        = eventAggregator;
 }
コード例 #3
0
 public UIPullPaymentController(ApplicationDbContextFactory dbContextFactory,
                                CurrencyNameTable currencyNameTable,
                                PullPaymentHostedService pullPaymentHostedService,
                                BTCPayNetworkJsonSerializerSettings serializerSettings,
                                IEnumerable <IPayoutHandler> payoutHandlers)
 {
     _dbContextFactory         = dbContextFactory;
     _currencyNameTable        = currencyNameTable;
     _pullPaymentHostedService = pullPaymentHostedService;
     _serializerSettings       = serializerSettings;
     _payoutHandlers           = payoutHandlers;
 }
コード例 #4
0
 public PullPaymentController(ApplicationDbContextFactory dbContextFactory,
                              BTCPayNetworkProvider networkProvider,
                              CurrencyNameTable currencyNameTable,
                              PullPaymentHostedService pullPaymentHostedService,
                              BTCPayServer.Services.BTCPayNetworkJsonSerializerSettings serializerSettings)
 {
     _dbContextFactory         = dbContextFactory;
     _networkProvider          = networkProvider;
     _currencyNameTable        = currencyNameTable;
     _pullPaymentHostedService = pullPaymentHostedService;
     _serializerSettings       = serializerSettings;
 }
 public UIStorePullPaymentsController(BTCPayNetworkProvider btcPayNetworkProvider,
                                      IEnumerable <IPayoutHandler> payoutHandlers,
                                      CurrencyNameTable currencyNameTable,
                                      PullPaymentHostedService pullPaymentHostedService,
                                      ApplicationDbContextFactory dbContextFactory,
                                      BTCPayNetworkJsonSerializerSettings jsonSerializerSettings)
 {
     _btcPayNetworkProvider  = btcPayNetworkProvider;
     _payoutHandlers         = payoutHandlers;
     _currencyNameTable      = currencyNameTable;
     _pullPaymentService     = pullPaymentHostedService;
     _dbContextFactory       = dbContextFactory;
     _jsonSerializerSettings = jsonSerializerSettings;
 }
コード例 #6
0
 public GreenfieldPullPaymentController(PullPaymentHostedService pullPaymentService,
                                        LinkGenerator linkGenerator,
                                        ApplicationDbContextFactory dbContextFactory,
                                        CurrencyNameTable currencyNameTable,
                                        Services.BTCPayNetworkJsonSerializerSettings serializerSettings,
                                        BTCPayNetworkProvider networkProvider)
 {
     _pullPaymentService = pullPaymentService;
     _linkGenerator      = linkGenerator;
     _dbContextFactory   = dbContextFactory;
     _currencyNameTable  = currencyNameTable;
     _serializerSettings = serializerSettings;
     _networkProvider    = networkProvider;
 }
コード例 #7
0
 public GreenfieldPullPaymentController(PullPaymentHostedService pullPaymentService,
                                        LinkGenerator linkGenerator,
                                        ApplicationDbContextFactory dbContextFactory,
                                        CurrencyNameTable currencyNameTable,
                                        Services.BTCPayNetworkJsonSerializerSettings serializerSettings,
                                        IEnumerable <IPayoutHandler> payoutHandlers)
 {
     _pullPaymentService = pullPaymentService;
     _linkGenerator      = linkGenerator;
     _dbContextFactory   = dbContextFactory;
     _currencyNameTable  = currencyNameTable;
     _serializerSettings = serializerSettings;
     _payoutHandlers     = payoutHandlers;
 }
コード例 #8
0
 public LightningLikePayoutController(ApplicationDbContextFactory applicationDbContextFactory,
                                      UserManager <ApplicationUser> userManager,
                                      BTCPayNetworkJsonSerializerSettings btcPayNetworkJsonSerializerSettings,
                                      IEnumerable <IPayoutHandler> payoutHandlers,
                                      BTCPayNetworkProvider btcPayNetworkProvider,
                                      LightningClientFactoryService lightningClientFactoryService,
                                      IOptions <LightningNetworkOptions> options)
 {
     _applicationDbContextFactory = applicationDbContextFactory;
     _userManager = userManager;
     _btcPayNetworkJsonSerializerSettings = btcPayNetworkJsonSerializerSettings;
     _payoutHandlers                = payoutHandlers;
     _btcPayNetworkProvider         = btcPayNetworkProvider;
     _lightningClientFactoryService = lightningClientFactoryService;
     _options = options;
 }
コード例 #9
0
    public LightningAutomatedPayoutProcessor(
        BTCPayNetworkJsonSerializerSettings btcPayNetworkJsonSerializerSettings,
        LightningClientFactoryService lightningClientFactoryService,
        IEnumerable <IPayoutHandler> payoutHandlers,
        UserService userService,
        ILoggerFactory logger, IOptions <LightningNetworkOptions> options,
        StoreRepository storeRepository, PayoutProcessorData payoutProcesserSettings,
        ApplicationDbContextFactory applicationDbContextFactory, BTCPayNetworkProvider btcPayNetworkProvider) :
        base(logger, storeRepository, payoutProcesserSettings, applicationDbContextFactory,
             btcPayNetworkProvider)
    {
        _btcPayNetworkJsonSerializerSettings = btcPayNetworkJsonSerializerSettings;
        _lightningClientFactoryService       = lightningClientFactoryService;
        _userService   = userService;
        _options       = options;
        _payoutHandler = (LightningLikePayoutHandler)payoutHandlers.FindPayoutHandler(PaymentMethodId);

        _network = _btcPayNetworkProvider.GetNetwork <BTCPayNetwork>(_PayoutProcesserSettings.GetPaymentMethodId().CryptoCode);
    }
コード例 #10
0
 public OnChainAutomatedPayoutProcessor(
     ApplicationDbContextFactory applicationDbContextFactory,
     ExplorerClientProvider explorerClientProvider,
     BTCPayWalletProvider btcPayWalletProvider,
     BTCPayNetworkJsonSerializerSettings btcPayNetworkJsonSerializerSettings,
     ILoggerFactory logger,
     BitcoinLikePayoutHandler bitcoinLikePayoutHandler,
     EventAggregator eventAggregator,
     StoreRepository storeRepository,
     PayoutProcessorData payoutProcesserSettings,
     BTCPayNetworkProvider btcPayNetworkProvider) :
     base(logger, storeRepository, payoutProcesserSettings, applicationDbContextFactory,
          btcPayNetworkProvider)
 {
     _explorerClientProvider = explorerClientProvider;
     _btcPayWalletProvider   = btcPayWalletProvider;
     _btcPayNetworkJsonSerializerSettings = btcPayNetworkJsonSerializerSettings;
     _bitcoinLikePayoutHandler            = bitcoinLikePayoutHandler;
     _eventAggregator = eventAggregator;
 }
コード例 #11
0
 public static void SetBlob(this PayoutData data, PayoutBlob blob, BTCPayNetworkJsonSerializerSettings serializers)
 {
     data.Blob = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(blob, serializers.GetSerializer(data.GetPaymentMethodId().CryptoCode)));
 }
コード例 #12
0
 public static PayoutBlob GetBlob(this PayoutData data, BTCPayNetworkJsonSerializerSettings serializers)
 {
     return(JsonConvert.DeserializeObject <PayoutBlob>(Encoding.UTF8.GetString(data.Blob), serializers.GetSerializer(data.GetPaymentMethodId().CryptoCode)));
 }
コード例 #13
0
        public static void SetProofBlob(this PayoutData data, PayoutTransactionOnChainBlob blob, BTCPayNetworkJsonSerializerSettings serializers)
        {
            var bytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(blob, serializers.GetSerializer(data.GetPaymentMethodId().CryptoCode)));

            // We only update the property if the bytes actually changed, this prevent from hammering the DB too much
            if (data.Proof is null || bytes.Length != data.Proof.Length || !bytes.SequenceEqual(data.Proof))
            {
                data.Proof = bytes;
            }
        }
コード例 #14
0
 public static PayoutTransactionOnChainBlob GetProofBlob(this PayoutData data, BTCPayNetworkJsonSerializerSettings serializers)
 {
     if (data.Proof is null)
     {
         return(null);
     }
     return(JsonConvert.DeserializeObject <PayoutTransactionOnChainBlob>(Encoding.UTF8.GetString(data.Proof), serializers.GetSerializer(data.GetPaymentMethodId().CryptoCode)));
 }