From f343194074534496c5ed81fa74e340662ea4ca28 Mon Sep 17 00:00:00 2001 From: Martin Boehm Date: Sat, 3 Mar 2018 23:45:00 +0100 Subject: [PATCH] Add helper blockchain function OutputScriptToAddresses --- bchain/types.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/bchain/types.go b/bchain/types.go index b30deed7..fb3ce443 100644 --- a/bchain/types.go +++ b/bchain/types.go @@ -44,6 +44,19 @@ func AddressToOutputScript(address string) ([]byte, error) { return script, nil } +// OutputScriptToAddresses converts ScriptPubKey to bitcoin addresses +func OutputScriptToAddresses(script []byte) ([]string, error) { + _, addresses, _, err := txscript.ExtractPkScriptAddrs(script, GetChainParams()[0]) + if err != nil { + return nil, err + } + rv := make([]string, len(addresses)) + for i, a := range addresses { + rv[i] = a.EncodeAddress() + } + return rv, nil +} + // Tx is blockchain transaction // unnecessary fields are commented out to avoid overhead type Tx struct {