github.com/mysteriumnetwork/node@v0.0.0-20240516044423-365054f76801/core/node/options_payments.go (about) 1 /* 2 * Copyright (C) 2019 The "MysteriumNetwork/node" Authors. 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 package node 19 20 import ( 21 "math/big" 22 "time" 23 ) 24 25 // OptionsPayments controls the behaviour of payments 26 type OptionsPayments struct { 27 MaxAllowedPaymentPercentile int 28 BCTimeout time.Duration 29 HermesPromiseSettlingThreshold float64 30 MaxFeeSettlingThreshold float64 31 SettlementTimeout time.Duration 32 SettlementRecheckInterval time.Duration 33 ConsumerDataLeewayMegabytes uint64 34 HermesStatusRecheckInterval time.Duration 35 BalanceFastPollInterval time.Duration 36 BalanceFastPollTimeout time.Duration 37 BalanceLongPollInterval time.Duration 38 RegistryTransactorPollInterval time.Duration 39 RegistryTransactorPollTimeout time.Duration 40 MinAutoSettleAmount float64 41 MaxUnSettledAmount float64 42 43 ProviderInvoiceFrequency time.Duration 44 ProviderLimitInvoiceFrequency time.Duration 45 46 MaxUnpaidInvoiceValue *big.Int 47 LimitUnpaidInvoiceValue *big.Int 48 }