From 8ef09d124e680855ceac95ade183420247226bec Mon Sep 17 00:00:00 2001 From: Martin Boehm Date: Fri, 1 Sep 2023 14:10:51 +0200 Subject: [PATCH] Fix tests --- bchain/coins/bch/bcashparser_test.go | 5 +++++ bchain/coins/bellcoin/bellcoinparser_test.go | 4 ++++ bchain/coins/btc/bitcoinparser_test.go | 4 ++++ bchain/coins/ecash/ecashparser_test.go | 4 ++++ bchain/coins/vipstarcoin/vipstarcoinparser_test.go | 4 ++++ bchain/golomb_test.go | 5 +++-- bchain/mempool_bitcoin_type.go | 2 +- bchain/mempool_bitcoin_type_test.go | 4 +++- bchain/types.go | 2 +- server/public_test.go | 4 ++-- tests/dbtestdata/fakechain.go | 2 +- 11 files changed, 32 insertions(+), 8 deletions(-) diff --git a/bchain/coins/bch/bcashparser_test.go b/bchain/coins/bch/bcashparser_test.go index a862f558..3aec7396 100644 --- a/bchain/coins/bch/bcashparser_test.go +++ b/bchain/coins/bch/bcashparser_test.go @@ -337,10 +337,15 @@ func Test_UnpackTx(t *testing.T) { t.Run(tt.name, func(t *testing.T) { b, _ := hex.DecodeString(tt.args.packedTx) got, got1, err := tt.args.parser.UnpackTx(b) + if (err != nil) != tt.wantErr { t.Errorf("unpackTx() error = %v, wantErr %v", err, tt.wantErr) return } + // ignore witness unpacking + for i := range got.Vin { + got.Vin[i].Witness = nil + } if !reflect.DeepEqual(got, tt.want) { t.Errorf("unpackTx() got = %v, want %v", got, tt.want) } diff --git a/bchain/coins/bellcoin/bellcoinparser_test.go b/bchain/coins/bellcoin/bellcoinparser_test.go index 8ed7e295..e747fe03 100644 --- a/bchain/coins/bellcoin/bellcoinparser_test.go +++ b/bchain/coins/bellcoin/bellcoinparser_test.go @@ -316,6 +316,10 @@ func Test_UnpackTx(t *testing.T) { t.Errorf("unpackTx() error = %v, wantErr %v", err, tt.wantErr) return } + // ignore witness unpacking + for i := range got.Vin { + got.Vin[i].Witness = nil + } if !reflect.DeepEqual(got, tt.want) { t.Errorf("unpackTx() got = %v, want %v", got, tt.want) } diff --git a/bchain/coins/btc/bitcoinparser_test.go b/bchain/coins/btc/bitcoinparser_test.go index 201d7ca9..1ca0d4ec 100644 --- a/bchain/coins/btc/bitcoinparser_test.go +++ b/bchain/coins/btc/bitcoinparser_test.go @@ -710,6 +710,10 @@ func TestUnpackTx(t *testing.T) { t.Errorf("unpackTx() error = %v, wantErr %v", err, tt.wantErr) return } + // ignore witness unpacking + for i := range got.Vin { + got.Vin[i].Witness = nil + } if !reflect.DeepEqual(got, tt.want) { t.Errorf("unpackTx() got = %v, want %v", got, tt.want) } diff --git a/bchain/coins/ecash/ecashparser_test.go b/bchain/coins/ecash/ecashparser_test.go index 218299bd..719ded6c 100644 --- a/bchain/coins/ecash/ecashparser_test.go +++ b/bchain/coins/ecash/ecashparser_test.go @@ -342,6 +342,10 @@ func Test_UnpackTx(t *testing.T) { t.Errorf("unpackTx() error = %v, wantErr %v", err, tt.wantErr) return } + // ignore witness unpacking + for i := range got.Vin { + got.Vin[i].Witness = nil + } if !reflect.DeepEqual(got, tt.want) { t.Errorf("unpackTx() got = %v, want %v", got, tt.want) } diff --git a/bchain/coins/vipstarcoin/vipstarcoinparser_test.go b/bchain/coins/vipstarcoin/vipstarcoinparser_test.go index 5ab64031..83f21572 100644 --- a/bchain/coins/vipstarcoin/vipstarcoinparser_test.go +++ b/bchain/coins/vipstarcoin/vipstarcoinparser_test.go @@ -294,6 +294,10 @@ func Test_UnpackTx(t *testing.T) { t.Errorf("unpackTx() error = %v, wantErr %v", err, tt.wantErr) return } + // ignore witness unpacking + for i := range got.Vin { + got.Vin[i].Witness = nil + } if !reflect.DeepEqual(got, tt.want) { t.Errorf("unpackTx() got = %v, want %v", got, tt.want) } diff --git a/bchain/golomb_test.go b/bchain/golomb_test.go index eba1ab41..b13663c6 100644 --- a/bchain/golomb_test.go +++ b/bchain/golomb_test.go @@ -88,7 +88,8 @@ func TestGolombFilter(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - gf, err := NewGolombFilter(tt.p, tt.filterScripts, tt.key) + // TODO add tests for useZeroedKey + gf, err := NewGolombFilter(tt.p, tt.filterScripts, tt.key, false) if err != nil && !tt.wantError { t.Errorf("TestGolombFilter.NewGolombFilter() got unexpected error '%v'", err) return @@ -105,7 +106,7 @@ func TestGolombFilter(t *testing.T) { return } for _, ad := range tt.addressDescriptors { - gf.AddAddrDesc(ad) + gf.AddAddrDesc(ad, nil) } f := gf.Compute() got := hex.EncodeToString(f) diff --git a/bchain/mempool_bitcoin_type.go b/bchain/mempool_bitcoin_type.go index 949fa9bf..b668236e 100644 --- a/bchain/mempool_bitcoin_type.go +++ b/bchain/mempool_bitcoin_type.go @@ -100,7 +100,7 @@ func (m *MempoolBitcoinType) getInputAddress(payload *chanInputPayload) *addrInd } func (m *MempoolBitcoinType) computeGolombFilter(mtx *MempoolTx, tx *Tx) string { - gf, _ := NewGolombFilter(m.golombFilterP, "", mtx.Txid, m.useZeroedKey) + gf, _ := NewGolombFilter(m.golombFilterP, m.filterScripts, mtx.Txid, m.useZeroedKey) if gf == nil || !gf.Enabled { return "" } diff --git a/bchain/mempool_bitcoin_type_test.go b/bchain/mempool_bitcoin_type_test.go index 0417915a..8d9be16e 100644 --- a/bchain/mempool_bitcoin_type_test.go +++ b/bchain/mempool_bitcoin_type_test.go @@ -194,7 +194,7 @@ func TestMempoolBitcoinType_computeGolombFilter_taproot(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - got := m.computeGolombFilter(&tt.mtx) + got := m.computeGolombFilter(&tt.mtx, nil) if got != tt.want { t.Errorf("MempoolBitcoinType.computeGolombFilter() = %v, want %v", got, tt.want) } @@ -238,3 +238,5 @@ func TestMempoolBitcoinType_computeGolombFilter_taproot(t *testing.T) { }) } } + +// TODO test also taproot-noordinals option diff --git a/bchain/types.go b/bchain/types.go index ca75444d..c4f65657 100644 --- a/bchain/types.go +++ b/bchain/types.go @@ -57,7 +57,7 @@ type Vin struct { ScriptSig ScriptSig `json:"scriptSig"` Sequence uint32 `json:"sequence"` Addresses []string `json:"addresses"` - Witness [][]byte `json:"witness"` + Witness [][]byte `json:"-"` } // ScriptPubKey contains data about output script diff --git a/server/public_test.go b/server/public_test.go index e6d846ab..b95b2ca7 100644 --- a/server/public_test.go +++ b/server/public_test.go @@ -1462,7 +1462,7 @@ func websocketTestsBitcoinType(t *testing.T, ts *httptest.Server) { "scriptType": "", }, }, - want: `{"id":"41","data":{}}`, + want: `{"id":"41","data":{"P":0,"M":1,"zeroedKey":false,"entries":{}}}`, }, { name: "websocket getMempoolFilters invalid type", @@ -1482,7 +1482,7 @@ func websocketTestsBitcoinType(t *testing.T, ts *httptest.Server) { "blockHash": "abcd", }, }, - want: `{"id":"43","data":""}`, + want: `{"id":"43","data":{"P":0,"M":1,"zeroedKey":false,"blockFilter":""}}`, }, } diff --git a/tests/dbtestdata/fakechain.go b/tests/dbtestdata/fakechain.go index ab782944..044c2683 100644 --- a/tests/dbtestdata/fakechain.go +++ b/tests/dbtestdata/fakechain.go @@ -19,7 +19,7 @@ func NewFakeBlockChain(parser bchain.BlockChainParser) (bchain.BlockChain, error } func (c *fakeBlockChain) CreateMempool(chain bchain.BlockChain) (bchain.Mempool, error) { - return bchain.NewMempoolBitcoinType(chain, 1, 1, 0, ""), nil + return bchain.NewMempoolBitcoinType(chain, 1, 1, 0, "", false), nil } func (c *fakeBlockChain) Initialize() error {