|
1 | 1 | package neutrino |
2 | 2 |
|
3 | | -import ( |
4 | | - "fmt" |
5 | | - |
6 | | - "github.com/btcsuite/btcd/blockchain" |
7 | | - "github.com/btcsuite/btcd/chaincfg/chainhash" |
8 | | - "github.com/btcsuite/btcd/wire" |
9 | | - "github.com/lightninglabs/neutrino/headerfs" |
10 | | -) |
11 | | - |
12 | | -// mockBlockHeaderStore is an implementation of the BlockHeaderStore backed by |
13 | | -// a simple map. |
14 | | -type mockBlockHeaderStore struct { |
15 | | - headers map[chainhash.Hash]wire.BlockHeader |
16 | | - heights map[uint32]wire.BlockHeader |
17 | | -} |
18 | | - |
19 | | -// A compile-time check to ensure the mockBlockHeaderStore adheres to the |
20 | | -// BlockHeaderStore interface. |
21 | | -var _ headerfs.BlockHeaderStore = (*mockBlockHeaderStore)(nil) |
22 | | - |
23 | | -// NewMockBlockHeaderStore returns a version of the BlockHeaderStore that's |
24 | | -// backed by an in-memory map. This instance is meant to be used by callers |
25 | | -// outside the package to unit test components that require a BlockHeaderStore |
26 | | -// interface. |
27 | | -func newMockBlockHeaderStore() *mockBlockHeaderStore { |
28 | | - return &mockBlockHeaderStore{ |
29 | | - headers: make(map[chainhash.Hash]wire.BlockHeader), |
30 | | - heights: make(map[uint32]wire.BlockHeader), |
31 | | - } |
32 | | -} |
33 | | - |
34 | | -func (m *mockBlockHeaderStore) ChainTip() (*wire.BlockHeader, |
35 | | - uint32, error) { |
36 | | - |
37 | | - return nil, 0, nil |
38 | | -} |
39 | | -func (m *mockBlockHeaderStore) LatestBlockLocator() ( |
40 | | - blockchain.BlockLocator, error) { |
41 | | - |
42 | | - return nil, nil |
43 | | -} |
44 | | - |
45 | | -func (m *mockBlockHeaderStore) FetchHeaderByHeight(height uint32) ( |
46 | | - *wire.BlockHeader, error) { |
47 | | - |
48 | | - if header, ok := m.heights[height]; ok { |
49 | | - return &header, nil |
50 | | - } |
51 | | - |
52 | | - return nil, headerfs.ErrHeightNotFound |
53 | | -} |
54 | | - |
55 | | -func (m *mockBlockHeaderStore) FetchHeaderAncestors(uint32, |
56 | | - *chainhash.Hash) ([]wire.BlockHeader, uint32, error) { |
57 | | - |
58 | | - return nil, 0, nil |
59 | | -} |
60 | | -func (m *mockBlockHeaderStore) HeightFromHash(*chainhash.Hash) (uint32, error) { |
61 | | - return 0, nil |
62 | | -} |
63 | | -func (m *mockBlockHeaderStore) RollbackLastBlock() (*headerfs.BlockStamp, |
64 | | - error) { |
65 | | - |
66 | | - return nil, nil |
67 | | -} |
68 | | - |
69 | | -func (m *mockBlockHeaderStore) FetchHeader(h *chainhash.Hash) ( |
70 | | - *wire.BlockHeader, uint32, error) { |
71 | | - |
72 | | - if header, ok := m.headers[*h]; ok { |
73 | | - return &header, 0, nil |
74 | | - } |
75 | | - return nil, 0, fmt.Errorf("not found") |
76 | | -} |
77 | | - |
78 | | -func (m *mockBlockHeaderStore) WriteHeaders(headers ...headerfs.BlockHeader) error { |
79 | | - for _, h := range headers { |
80 | | - m.headers[h.BlockHash()] = *h.BlockHeader |
81 | | - } |
82 | | - |
83 | | - return nil |
84 | | -} |
| 3 | +// |
| 4 | +//import ( |
| 5 | +// "fmt" |
| 6 | +// |
| 7 | +// "github.com/btcsuite/btcd/blockchain" |
| 8 | +// "github.com/btcsuite/btcd/chaincfg/chainhash" |
| 9 | +// "github.com/btcsuite/btcd/wire" |
| 10 | +// "github.com/lightninglabs/neutrino/headerfs" |
| 11 | +//) |
| 12 | +// |
| 13 | +//// mockBlockHeaderStore is an implementation of the BlockHeaderStore backed by |
| 14 | +//// a simple map. |
| 15 | +//type mockBlockHeaderStore struct { |
| 16 | +// headers map[chainhash.Hash]wire.BlockHeader |
| 17 | +// heights map[uint32]wire.BlockHeader |
| 18 | +//} |
| 19 | +// |
| 20 | +//// A compile-time check to ensure the mockBlockHeaderStore adheres to the |
| 21 | +//// BlockHeaderStore interface. |
| 22 | +//var _ headerfs.BlockHeaderStore = (*mockBlockHeaderStore)(nil) |
| 23 | +// |
| 24 | +//// NewMockBlockHeaderStore returns a version of the BlockHeaderStore that's |
| 25 | +//// backed by an in-memory map. This instance is meant to be used by callers |
| 26 | +//// outside the package to unit test components that require a BlockHeaderStore |
| 27 | +//// interface. |
| 28 | +//func newMockBlockHeaderStore() *mockBlockHeaderStore { |
| 29 | +// return &mockBlockHeaderStore{ |
| 30 | +// headers: make(map[chainhash.Hash]wire.BlockHeader), |
| 31 | +// heights: make(map[uint32]wire.BlockHeader), |
| 32 | +// } |
| 33 | +//} |
| 34 | +// |
| 35 | +//func (m *mockBlockHeaderStore) ChainTip() (*wire.BlockHeader, |
| 36 | +// uint32, error) { |
| 37 | +// |
| 38 | +// return nil, 0, nil |
| 39 | +//} |
| 40 | +//func (m *mockBlockHeaderStore) LatestBlockLocator() ( |
| 41 | +// blockchain.BlockLocator, error) { |
| 42 | +// |
| 43 | +// return nil, nil |
| 44 | +//} |
| 45 | +// |
| 46 | +//func (m *mockBlockHeaderStore) FetchHeaderByHeight(height uint32) ( |
| 47 | +// *wire.BlockHeader, error) { |
| 48 | +// |
| 49 | +// if header, ok := m.heights[height]; ok { |
| 50 | +// return &header, nil |
| 51 | +// } |
| 52 | +// |
| 53 | +// return nil, headerfs.ErrHeightNotFound |
| 54 | +//} |
| 55 | +// |
| 56 | +//func (m *mockBlockHeaderStore) FetchHeaderAncestors(uint32, |
| 57 | +// *chainhash.Hash) ([]wire.BlockHeader, uint32, error) { |
| 58 | +// |
| 59 | +// return nil, 0, nil |
| 60 | +//} |
| 61 | +//func (m *mockBlockHeaderStore) HeightFromHash(*chainhash.Hash) (uint32, error) { |
| 62 | +// return 0, nil |
| 63 | +//} |
| 64 | +//func (m *mockBlockHeaderStore) RollbackLastBlock() (*headerfs.BlockStamp, |
| 65 | +// error) { |
| 66 | +// |
| 67 | +// return nil, nil |
| 68 | +//} |
| 69 | +// |
| 70 | +//func (m *mockBlockHeaderStore) FetchHeader(h *chainhash.Hash) ( |
| 71 | +// *wire.BlockHeader, uint32, error) { |
| 72 | +// |
| 73 | +// if header, ok := m.headers[*h]; ok { |
| 74 | +// return &header, 0, nil |
| 75 | +// } |
| 76 | +// return nil, 0, fmt.Errorf("not found") |
| 77 | +//} |
| 78 | +// |
| 79 | +//func (m *mockBlockHeaderStore) WriteHeaders(headers ...headerfs.BlockHeader) error { |
| 80 | +// for _, h := range headers { |
| 81 | +// m.headers[h.BlockHash()] = *h.BlockHeader |
| 82 | +// } |
| 83 | +// |
| 84 | +// return nil |
| 85 | +//} |
0 commit comments