From 43e61253ee47678b6ab889bf89c739f48e874a34 Mon Sep 17 00:00:00 2001 From: wakiyamap Date: Sat, 29 Sep 2018 07:02:12 -0400 Subject: [PATCH] change to btc.TryParseOPReturn --- bchain/coins/monacoin/monacoinparser.go | 45 ++----------------------- 1 file changed, 2 insertions(+), 43 deletions(-) diff --git a/bchain/coins/monacoin/monacoinparser.go b/bchain/coins/monacoin/monacoinparser.go index 3e3d795d..f8768641 100644 --- a/bchain/coins/monacoin/monacoinparser.go +++ b/bchain/coins/monacoin/monacoinparser.go @@ -3,7 +3,6 @@ package monacoin import ( "blockbook/bchain" "blockbook/bchain/coins/btc" - "encoding/hex" "github.com/btcsuite/btcd/wire" "github.com/jakm/btcutil/chaincfg" @@ -137,7 +136,7 @@ func (p *MonacoinParser) outputScriptToAddresses(script []byte) ([]string, bool, if sc != txscript.NonStandardTy && sc != txscript.NullDataTy { s = true } else if len(rv) == 0 { - or := TryParseOPReturn(script) + or := btc.TryParseOPReturn(script) if or != "" { rv = []string{or} } @@ -156,7 +155,7 @@ func (p *MonacoinParser) outputScriptToAddresses(script []byte) ([]string, bool, if sc != txscript.NonStandardTy && sc != txscript.NullDataTy { s = true } else if len(rv) == 0 { - or := TryParseOPReturn(script) + or := btc.TryParseOPReturn(script) if or != "" { rv = []string{or} } @@ -164,43 +163,3 @@ func (p *MonacoinParser) outputScriptToAddresses(script []byte) ([]string, bool, return rv, s, nil } } - -// TryParseOPReturn tries to process OP_RETURN script and return its string representation -func TryParseOPReturn(script []byte) string { - if len(script) > 1 && script[0] == txscript.OP_RETURN { - // trying 2 variants of OP_RETURN data - // 1) OP_RETURN OP_PUSHDATA1 - // 2) OP_RETURN - var data []byte - var l int - if script[1] == txscript.OP_PUSHDATA1 && len(script) > 2 { - l = int(script[2]) - data = script[3:] - if l != len(data) { - l = int(script[1]) - data = script[2:] - } - } else { - l = int(script[1]) - data = script[2:] - } - if l == len(data) { - isASCII := true - for _, c := range data { - if c < 32 || c > 127 { - isASCII = false - break - } - } - var ed string - if isASCII { - ed = "(" + string(data) + ")" - } else { - ed = hex.EncodeToString(data) - } - return "OP_RETURN " + ed - } - } - return "" -} -