From 882bcf85124470f95e9f79f57ba599b855249368 Mon Sep 17 00:00:00 2001 From: Martin Boehm Date: Thu, 10 May 2018 08:58:00 +0200 Subject: [PATCH] Handle BECH addresses in test of logged socket.io --- server/socketio_test.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/server/socketio_test.go b/server/socketio_test.go index a6fc5330..dbb0e859 100644 --- a/server/socketio_test.go +++ b/server/socketio_test.go @@ -246,13 +246,18 @@ func verifyGetDetailedTransaction(t *testing.T, id int, lrs *logRequestResponse, bbi.Satoshis != li.Satoshis { return errors.Errorf("mismatch input %v %v, %v %v, %v %v", bbi.OutputIndex, li.OutputIndex, bbi.Sequence, li.Sequence, bbi.Satoshis, li.Satoshis) } + // both must be null or both must not be null if bbi.Address != nil && li.Address != nil { if *bbi.Address != *li.Address { return errors.Errorf("mismatch input Address %v %v", *bbi.Address, *li.Address) } } else if bbi.Address != li.Address { + // bitcore does not parse bech P2WPKH and P2WSH addresses + if bbi.Address == nil || (*bbi.Address)[0:3] != "bc1" { return errors.Errorf("mismatch input Address %v %v", bbi.Address, li.Address) } + } + // both must be null or both must not be null if bbi.Script != nil && li.Script != nil { if *bbi.Script != *li.Script { return errors.Errorf("mismatch input Script %v %v", *bbi.Script, *li.Script) @@ -272,21 +277,26 @@ func verifyGetDetailedTransaction(t *testing.T, id int, lrs *logRequestResponse, if bbo.Satoshis != lo.Satoshis { return errors.Errorf("mismatch output Satoshis %v %v", bbo.Satoshis, lo.Satoshis) } + // both must be null or both must not be null if bbo.Script != nil && lo.Script != nil { if *bbo.Script != *lo.Script { return errors.Errorf("mismatch output Script %v %v", *bbo.Script, *lo.Script) } - } else { + } else if bbo.Script != lo.Script { return errors.Errorf("mismatch output Script %v %v", bbo.Script, lo.Script) } + // both must be null or both must not be null if bbo.Address != nil && lo.Address != nil { if *bbo.Address != *lo.Address { return errors.Errorf("mismatch output Address %v %v", *bbo.Address, *lo.Address) } - } else { + } else if bbo.Address != lo.Address { + // bitcore does not parse bech P2WPKH and P2WSH addresses + if bbo.Address == nil || (*bbo.Address)[0:3] != "bc1" { return errors.Errorf("mismatch output Address %v %v", bbo.Address, lo.Address) } } + } return nil } // the tx in the log could have been still in mempool with Height -1