chain.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package lnmock
  2. import (
  3. "github.com/btcsuite/btcd/btcjson"
  4. "github.com/btcsuite/btcd/btcutil"
  5. "github.com/btcsuite/btcd/chaincfg/chainhash"
  6. "github.com/btcsuite/btcd/wire"
  7. "github.com/btcsuite/btcwallet/chain"
  8. "github.com/btcsuite/btcwallet/waddrmgr"
  9. "github.com/stretchr/testify/mock"
  10. )
  11. // MockChain is a mock implementation of the Chain interface.
  12. type MockChain struct {
  13. mock.Mock
  14. }
  15. // Compile-time constraint to ensure MockChain implements the Chain interface.
  16. var _ chain.Interface = (*MockChain)(nil)
  17. func (m *MockChain) Start() error {
  18. args := m.Called()
  19. return args.Error(0)
  20. }
  21. func (m *MockChain) Stop() {
  22. m.Called()
  23. }
  24. func (m *MockChain) WaitForShutdown() {
  25. m.Called()
  26. }
  27. func (m *MockChain) GetBestBlock() (*chainhash.Hash, int32, error) {
  28. args := m.Called()
  29. if args.Get(0) == nil {
  30. return nil, args.Get(1).(int32), args.Error(2)
  31. }
  32. return args.Get(0).(*chainhash.Hash), args.Get(1).(int32), args.Error(2)
  33. }
  34. func (m *MockChain) GetBlock(hash *chainhash.Hash) (*wire.MsgBlock, error) {
  35. args := m.Called(hash)
  36. if args.Get(0) == nil {
  37. return nil, args.Error(1)
  38. }
  39. return args.Get(0).(*wire.MsgBlock), args.Error(1)
  40. }
  41. func (m *MockChain) GetBlockHash(height int64) (*chainhash.Hash, error) {
  42. args := m.Called(height)
  43. if args.Get(0) == nil {
  44. return nil, args.Error(1)
  45. }
  46. return args.Get(0).(*chainhash.Hash), args.Error(1)
  47. }
  48. func (m *MockChain) GetBlockHeader(hash *chainhash.Hash) (
  49. *wire.BlockHeader, error) {
  50. args := m.Called(hash)
  51. if args.Get(0) == nil {
  52. return nil, args.Error(1)
  53. }
  54. return args.Get(0).(*wire.BlockHeader), args.Error(1)
  55. }
  56. func (m *MockChain) IsCurrent() bool {
  57. args := m.Called()
  58. return args.Bool(0)
  59. }
  60. func (m *MockChain) FilterBlocks(req *chain.FilterBlocksRequest) (
  61. *chain.FilterBlocksResponse, error) {
  62. args := m.Called(req)
  63. if args.Get(0) == nil {
  64. return nil, args.Error(1)
  65. }
  66. return args.Get(0).(*chain.FilterBlocksResponse), args.Error(1)
  67. }
  68. func (m *MockChain) BlockStamp() (*waddrmgr.BlockStamp, error) {
  69. args := m.Called()
  70. if args.Get(0) == nil {
  71. return nil, args.Error(1)
  72. }
  73. return args.Get(0).(*waddrmgr.BlockStamp), args.Error(1)
  74. }
  75. func (m *MockChain) SendRawTransaction(tx *wire.MsgTx, allowHighFees bool) (
  76. *chainhash.Hash, error) {
  77. args := m.Called(tx, allowHighFees)
  78. if args.Get(0) == nil {
  79. return nil, args.Error(1)
  80. }
  81. return args.Get(0).(*chainhash.Hash), args.Error(1)
  82. }
  83. func (m *MockChain) Rescan(startHash *chainhash.Hash, addrs []btcutil.Address,
  84. outPoints map[wire.OutPoint]btcutil.Address) error {
  85. args := m.Called(startHash, addrs, outPoints)
  86. return args.Error(0)
  87. }
  88. func (m *MockChain) NotifyReceived(addrs []btcutil.Address) error {
  89. args := m.Called(addrs)
  90. return args.Error(0)
  91. }
  92. func (m *MockChain) NotifyBlocks() error {
  93. args := m.Called()
  94. return args.Error(0)
  95. }
  96. func (m *MockChain) Notifications() <-chan interface{} {
  97. args := m.Called()
  98. return args.Get(0).(<-chan interface{})
  99. }
  100. func (m *MockChain) BackEnd() string {
  101. args := m.Called()
  102. return args.String(0)
  103. }
  104. func (m *MockChain) TestMempoolAccept(txns []*wire.MsgTx, maxFeeRate float64) (
  105. []*btcjson.TestMempoolAcceptResult, error) {
  106. args := m.Called(txns, maxFeeRate)
  107. if args.Get(0) == nil {
  108. return nil, args.Error(1)
  109. }
  110. return args.Get(0).([]*btcjson.TestMempoolAcceptResult), args.Error(1)
  111. }