2023-10-19 22:59:57 +08:00
|
|
|
package chainfee
|
|
|
|
|
2023-11-03 18:48:09 +08:00
|
|
|
import (
|
|
|
|
"github.com/stretchr/testify/mock"
|
|
|
|
)
|
2023-10-19 22:59:57 +08:00
|
|
|
|
|
|
|
type mockFeeSource struct {
|
|
|
|
mock.Mock
|
|
|
|
}
|
|
|
|
|
|
|
|
// A compile-time assertion to ensure that mockFeeSource implements the
|
|
|
|
// WebAPIFeeSource interface.
|
|
|
|
var _ WebAPIFeeSource = (*mockFeeSource)(nil)
|
|
|
|
|
|
|
|
func (m *mockFeeSource) GetFeeMap() (map[uint32]uint32, error) {
|
|
|
|
args := m.Called()
|
|
|
|
|
|
|
|
return args.Get(0).(map[uint32]uint32), args.Error(1)
|
|
|
|
}
|
2023-11-03 18:48:09 +08:00
|
|
|
|
|
|
|
// MockEstimator implements the `Estimator` interface and is used by
|
|
|
|
// other packages for mock testing.
|
|
|
|
type MockEstimator struct {
|
|
|
|
mock.Mock
|
|
|
|
}
|
|
|
|
|
|
|
|
// Compile time assertion that MockEstimator implements Estimator.
|
|
|
|
var _ Estimator = (*MockEstimator)(nil)
|
|
|
|
|
|
|
|
// EstimateFeePerKW takes in a target for the number of blocks until an initial
|
|
|
|
// confirmation and returns the estimated fee expressed in sat/kw.
|
|
|
|
func (m *MockEstimator) EstimateFeePerKW(
|
|
|
|
numBlocks uint32) (SatPerKWeight, error) {
|
|
|
|
|
|
|
|
args := m.Called(numBlocks)
|
|
|
|
|
|
|
|
if args.Get(0) == nil {
|
|
|
|
return 0, args.Error(1)
|
|
|
|
}
|
|
|
|
|
|
|
|
return args.Get(0).(SatPerKWeight), args.Error(1)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Start signals the Estimator to start any processes or goroutines it needs to
|
|
|
|
// perform its duty.
|
|
|
|
func (m *MockEstimator) Start() error {
|
|
|
|
args := m.Called()
|
|
|
|
|
|
|
|
return args.Error(0)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Stop stops any spawned goroutines and cleans up the resources used by the
|
|
|
|
// fee estimator.
|
|
|
|
func (m *MockEstimator) Stop() error {
|
|
|
|
args := m.Called()
|
|
|
|
|
|
|
|
return args.Error(0)
|
|
|
|
}
|
|
|
|
|
|
|
|
// RelayFeePerKW returns the minimum fee rate required for transactions to be
|
|
|
|
// relayed. This is also the basis for calculation of the dust limit.
|
|
|
|
func (m *MockEstimator) RelayFeePerKW() SatPerKWeight {
|
|
|
|
args := m.Called()
|
|
|
|
|
|
|
|
return args.Get(0).(SatPerKWeight)
|
|
|
|
}
|