From be325b9d9c69f330d32143a3915d665e65b0066d Mon Sep 17 00:00:00 2001 From: Josh Rickmar Date: Tue, 27 May 2014 17:41:28 -0500 Subject: [PATCH] Update API for btcnet and btcutil changes. ok @davecgh --- address.go | 4 +- address_test.go | 11 ++-- script.go | 7 +-- script_test.go | 127 +++++++++++++++++++++++----------------------- test_coverage.txt | 8 +-- 5 files changed, 80 insertions(+), 77 deletions(-) diff --git a/address.go b/address.go index b23f1b32..979abf0e 100644 --- a/address.go +++ b/address.go @@ -5,15 +5,15 @@ package btcscript import ( + "github.com/conformal/btcnet" "github.com/conformal/btcutil" - "github.com/conformal/btcwire" ) // ExtractPkScriptAddrs returns the type of script, addresses and required // signatures associated with the passed PkScript. Note that it only works for // 'standard' transaction script types. Any data such as public keys which are // invalid are omitted from the results. -func ExtractPkScriptAddrs(pkScript []byte, net btcwire.BitcoinNet) (ScriptClass, []btcutil.Address, int, error) { +func ExtractPkScriptAddrs(pkScript []byte, net *btcnet.Params) (ScriptClass, []btcutil.Address, int, error) { var addrs []btcutil.Address var requiredSigs int diff --git a/address_test.go b/address_test.go index 698fcce5..f1d546b3 100644 --- a/address_test.go +++ b/address_test.go @@ -5,9 +5,9 @@ package btcscript_test import ( "encoding/hex" + "github.com/conformal/btcnet" "github.com/conformal/btcscript" "github.com/conformal/btcutil" - "github.com/conformal/btcwire" "reflect" "testing" ) @@ -30,7 +30,8 @@ func decodeHex(hexStr string) []byte { // the tests as a helper since the only way it can fail is if there is an error // in the test source code. func newAddressPubKey(serializedPubKey []byte) btcutil.Address { - addr, err := btcutil.NewAddressPubKey(serializedPubKey, btcwire.MainNet) + addr, err := btcutil.NewAddressPubKey(serializedPubKey, + &btcnet.MainNetParams) if err != nil { panic("invalid public key in test source") } @@ -43,7 +44,7 @@ func newAddressPubKey(serializedPubKey []byte) btcutil.Address { // as a helper since the only way it can fail is if there is an error in the // test source code. func newAddressPubKeyHash(pkHash []byte) btcutil.Address { - addr, err := btcutil.NewAddressPubKeyHash(pkHash, btcwire.MainNet) + addr, err := btcutil.NewAddressPubKeyHash(pkHash, &btcnet.MainNetParams) if err != nil { panic("invalid public key hash in test source") } @@ -57,7 +58,7 @@ func newAddressPubKeyHash(pkHash []byte) btcutil.Address { // test source code. func newAddressScriptHash(scriptHash []byte) btcutil.Address { addr, err := btcutil.NewAddressScriptHashFromHash(scriptHash, - btcwire.MainNet) + &btcnet.MainNetParams) if err != nil { panic("invalid script hash in test source") } @@ -338,7 +339,7 @@ func TestExtractPkScriptAddrs(t *testing.T) { t.Logf("Running %d tests.", len(tests)) for i, test := range tests { class, addrs, reqSigs, err := btcscript.ExtractPkScriptAddrs( - test.script, btcwire.MainNet) + test.script, &btcnet.MainNetParams) if err != nil { } diff --git a/script.go b/script.go index d254af97..945f3b4f 100644 --- a/script.go +++ b/script.go @@ -12,6 +12,7 @@ import ( "errors" "fmt" "github.com/conformal/btcec" + "github.com/conformal/btcnet" "github.com/conformal/btcutil" "github.com/conformal/btcwire" "github.com/davecgh/go-spew/spew" @@ -1168,7 +1169,7 @@ func signMultiSig(tx *btcwire.MsgTx, idx int, subScript []byte, hashType byte, return builder.Script(), signed == nRequired } -func sign(net btcwire.BitcoinNet, tx *btcwire.MsgTx, idx int, subScript []byte, +func sign(net *btcnet.Params, tx *btcwire.MsgTx, idx int, subScript []byte, hashType byte, kdb KeyDB, sdb ScriptDB) ([]byte, ScriptClass, []btcutil.Address, int, error) { @@ -1232,7 +1233,7 @@ func sign(net btcwire.BitcoinNet, tx *btcwire.MsgTx, idx int, subScript []byte, // The return value is the best effort merging of the two scripts. Calling this // function with addresses, class and nrequired that do not match pkScript is // an error and results in undefined behaviour. -func mergeScripts(net btcwire.BitcoinNet, tx *btcwire.MsgTx, idx int, +func mergeScripts(net *btcnet.Params, tx *btcwire.MsgTx, idx int, pkScript []byte, class ScriptClass, addresses []btcutil.Address, nRequired int, sigScript, prevScript []byte) []byte { @@ -1444,7 +1445,7 @@ func (sc ScriptClosure) GetScript(address btcutil.Address) ([]byte, error) { // getScript. If previousScript is provided then the results in previousScript // will be merged in a type-dependant manner with the newly generated. // signature script. -func SignTxOutput(net btcwire.BitcoinNet, tx *btcwire.MsgTx, idx int, +func SignTxOutput(net *btcnet.Params, tx *btcwire.MsgTx, idx int, pkScript []byte, hashType byte, kdb KeyDB, sdb ScriptDB, previousScript []byte) ([]byte, error) { diff --git a/script_test.go b/script_test.go index e119f56b..40bde3ee 100644 --- a/script_test.go +++ b/script_test.go @@ -11,6 +11,7 @@ import ( "errors" "fmt" "github.com/conformal/btcec" + "github.com/conformal/btcnet" "github.com/conformal/btcscript" "github.com/conformal/btcutil" "github.com/conformal/btcwire" @@ -2924,7 +2925,7 @@ func (b *bogusAddress) ScriptAddress() []byte { } // IsForNet lies blatantly to satisfy the btcutil.Address interface. -func (b *bogusAddress) IsForNet(btcwire.BitcoinNet) bool { +func (b *bogusAddress) IsForNet(net *btcnet.Params) bool { return true // why not? } @@ -2933,7 +2934,7 @@ func TestPayToAddrScript(t *testing.T) { p2pkhMain, err := btcutil.NewAddressPubKeyHash([]byte{ 0xe3, 0x4c, 0xce, 0x70, 0xc8, 0x63, 0x73, 0x27, 0x3e, 0xfc, 0xc5, 0x4c, 0xe7, 0xd2, 0xa4, 0x91, 0xbb, 0x4a, 0x0e, 0x84, - }, btcwire.MainNet) + }, &btcnet.MainNetParams) if err != nil { t.Errorf("Unable to create public key hash address: %v", err) return @@ -2944,7 +2945,7 @@ func TestPayToAddrScript(t *testing.T) { p2shMain, _ := btcutil.NewAddressScriptHashFromHash([]byte{ 0xe8, 0xc3, 0x00, 0xc8, 0x79, 0x86, 0xef, 0xa8, 0x4c, 0x37, 0xc0, 0x51, 0x99, 0x29, 0x01, 0x9e, 0xf8, 0x6e, 0xb5, 0xb4, - }, btcwire.MainNet) + }, &btcnet.MainNetParams) if err != nil { t.Errorf("Unable to create script hash address: %v", err) return @@ -2955,7 +2956,7 @@ func TestPayToAddrScript(t *testing.T) { 0x02, 0x19, 0x2d, 0x74, 0xd0, 0xcb, 0x94, 0x34, 0x4c, 0x95, 0x69, 0xc2, 0xe7, 0x79, 0x01, 0x57, 0x3d, 0x8d, 0x79, 0x03, 0xc3, 0xeb, 0xec, 0x3a, 0x95, 0x77, 0x24, 0x89, 0x5d, 0xca, - 0x52, 0xc6, 0xb4}, btcwire.MainNet) + 0x52, 0xc6, 0xb4}, &btcnet.MainNetParams) if err != nil { t.Errorf("Unable to create pubkey address (compressed): %v", err) @@ -2965,7 +2966,7 @@ func TestPayToAddrScript(t *testing.T) { 0x03, 0xb0, 0xbd, 0x63, 0x42, 0x34, 0xab, 0xbb, 0x1b, 0xa1, 0xe9, 0x86, 0xe8, 0x84, 0x18, 0x5c, 0x61, 0xcf, 0x43, 0xe0, 0x01, 0xf9, 0x13, 0x7f, 0x23, 0xc2, 0xc4, 0x09, 0x27, 0x3e, - 0xb1, 0x6e, 0x65}, btcwire.MainNet) + 0xb1, 0x6e, 0x65}, &btcnet.MainNetParams) if err != nil { t.Errorf("Unable to create pubkey address (compressed 2): %v", err) @@ -2979,7 +2980,7 @@ func TestPayToAddrScript(t *testing.T) { 0x90, 0x9a, 0x5c, 0xb2, 0xe0, 0xea, 0xdd, 0xfb, 0x84, 0xcc, 0xf9, 0x74, 0x44, 0x64, 0xf8, 0x2e, 0x16, 0x0b, 0xfa, 0x9b, 0x8b, 0x64, 0xf9, 0xd4, 0xc0, 0x3f, 0x99, 0x9b, 0x86, 0x43, - 0xf6, 0x56, 0xb4, 0x12, 0xa3}, btcwire.MainNet) + 0xf6, 0x56, 0xb4, 0x12, 0xa3}, &btcnet.MainNetParams) if err != nil { t.Errorf("Unable to create pubkey address (uncompressed): %v", err) @@ -3088,7 +3089,7 @@ func TestMultiSigScript(t *testing.T) { 0x02, 0x19, 0x2d, 0x74, 0xd0, 0xcb, 0x94, 0x34, 0x4c, 0x95, 0x69, 0xc2, 0xe7, 0x79, 0x01, 0x57, 0x3d, 0x8d, 0x79, 0x03, 0xc3, 0xeb, 0xec, 0x3a, 0x95, 0x77, 0x24, 0x89, 0x5d, 0xca, - 0x52, 0xc6, 0xb4}, btcwire.MainNet) + 0x52, 0xc6, 0xb4}, &btcnet.MainNetParams) if err != nil { t.Errorf("Unable to create pubkey address (compressed): %v", err) @@ -3098,7 +3099,7 @@ func TestMultiSigScript(t *testing.T) { 0x03, 0xb0, 0xbd, 0x63, 0x42, 0x34, 0xab, 0xbb, 0x1b, 0xa1, 0xe9, 0x86, 0xe8, 0x84, 0x18, 0x5c, 0x61, 0xcf, 0x43, 0xe0, 0x01, 0xf9, 0x13, 0x7f, 0x23, 0xc2, 0xc4, 0x09, 0x27, 0x3e, - 0xb1, 0x6e, 0x65}, btcwire.MainNet) + 0xb1, 0x6e, 0x65}, &btcnet.MainNetParams) if err != nil { t.Errorf("Unable to create pubkey address (compressed 2): %v", err) @@ -3112,7 +3113,7 @@ func TestMultiSigScript(t *testing.T) { 0x90, 0x9a, 0x5c, 0xb2, 0xe0, 0xea, 0xdd, 0xfb, 0x84, 0xcc, 0xf9, 0x74, 0x44, 0x64, 0xf8, 0x2e, 0x16, 0x0b, 0xfa, 0x9b, 0x8b, 0x64, 0xf9, 0xd4, 0xc0, 0x3f, 0x99, 0x9b, 0x86, 0x43, - 0xf6, 0x56, 0xb4, 0x12, 0xa3}, btcwire.MainNet) + 0xf6, 0x56, 0xb4, 0x12, 0xa3}, &btcnet.MainNetParams) if err != nil { t.Errorf("Unable to create pubkey address (uncompressed): %v", err) @@ -3235,7 +3236,7 @@ func signAndCheck(msg string, tx *btcwire.MsgTx, idx int, pkScript []byte, previousScript []byte) error { sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, idx, pkScript, hashType, + &btcnet.TestNet3Params, tx, idx, pkScript, hashType, kdb, sdb, []byte{}) if err != nil { return fmt.Errorf("failed to sign output %s: %v", msg, err) @@ -3369,7 +3370,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeUncompressed() address, err := btcutil.NewAddressPubKeyHash( - btcutil.Hash160(pk), btcwire.TestNet3) + btcutil.Hash160(pk), &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3407,7 +3408,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeUncompressed() address, err := btcutil.NewAddressPubKeyHash( - btcutil.Hash160(pk), btcwire.TestNet3) + btcutil.Hash160(pk), &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3421,7 +3422,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, pkScript, + &btcnet.TestNet3Params, tx, i, pkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, false}, }), mkGetScript(nil), []byte{}) @@ -3434,7 +3435,7 @@ func TestSignTxOutput(t *testing.T) { // by the above loop, this should be valid, now sign // again and merge. sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, pkScript, + &btcnet.TestNet3Params, tx, i, pkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, false}, }), mkGetScript(nil), sigScript) @@ -3469,7 +3470,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeCompressed() address, err := btcutil.NewAddressPubKeyHash( - btcutil.Hash160(pk), btcwire.TestNet3) + btcutil.Hash160(pk), &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3508,7 +3509,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeCompressed() address, err := btcutil.NewAddressPubKeyHash( - btcutil.Hash160(pk), btcwire.TestNet3) + btcutil.Hash160(pk), &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3522,7 +3523,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, pkScript, + &btcnet.TestNet3Params, tx, i, pkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, true}, }), mkGetScript(nil), []byte{}) @@ -3535,7 +3536,7 @@ func TestSignTxOutput(t *testing.T) { // by the above loop, this should be valid, now sign // again and merge. sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, pkScript, + &btcnet.TestNet3Params, tx, i, pkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, true}, }), mkGetScript(nil), sigScript) @@ -3570,7 +3571,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeUncompressed() address, err := btcutil.NewAddressPubKey(pk, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3609,7 +3610,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeUncompressed() address, err := btcutil.NewAddressPubKey(pk, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3623,7 +3624,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, pkScript, + &btcnet.TestNet3Params, tx, i, pkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, false}, }), mkGetScript(nil), []byte{}) @@ -3636,7 +3637,7 @@ func TestSignTxOutput(t *testing.T) { // by the above loop, this should be valid, now sign // again and merge. sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, pkScript, + &btcnet.TestNet3Params, tx, i, pkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, false}, }), mkGetScript(nil), sigScript) @@ -3671,7 +3672,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeCompressed() address, err := btcutil.NewAddressPubKey(pk, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3710,7 +3711,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeCompressed() address, err := btcutil.NewAddressPubKey(pk, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3724,7 +3725,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, pkScript, + &btcnet.TestNet3Params, tx, i, pkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, true}, }), mkGetScript(nil), []byte{}) @@ -3737,7 +3738,7 @@ func TestSignTxOutput(t *testing.T) { // by the above loop, this should be valid, now sign // again and merge. sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, pkScript, + &btcnet.TestNet3Params, tx, i, pkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, true}, }), mkGetScript(nil), sigScript) @@ -3772,7 +3773,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeUncompressed() address, err := btcutil.NewAddressPubKeyHash( - btcutil.Hash160(pk), btcwire.TestNet3) + btcutil.Hash160(pk), &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3787,7 +3788,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -3830,7 +3831,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeUncompressed() address, err := btcutil.NewAddressPubKeyHash( - btcutil.Hash160(pk), btcwire.TestNet3) + btcutil.Hash160(pk), &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3845,7 +3846,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -3861,7 +3862,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, false}, }), mkGetScript(map[string][]byte{ @@ -3876,7 +3877,7 @@ func TestSignTxOutput(t *testing.T) { // by the above loop, this should be valid, now sign // again and merge. sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, false}, }), mkGetScript(map[string][]byte{ @@ -3913,7 +3914,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeCompressed() address, err := btcutil.NewAddressPubKeyHash( - btcutil.Hash160(pk), btcwire.TestNet3) + btcutil.Hash160(pk), &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3927,7 +3928,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -3971,7 +3972,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeCompressed() address, err := btcutil.NewAddressPubKeyHash( - btcutil.Hash160(pk), btcwire.TestNet3) + btcutil.Hash160(pk), &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -3985,7 +3986,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -4001,7 +4002,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, true}, }), mkGetScript(map[string][]byte{ @@ -4016,7 +4017,7 @@ func TestSignTxOutput(t *testing.T) { // by the above loop, this should be valid, now sign // again and merge. sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, true}, }), mkGetScript(map[string][]byte{ @@ -4053,7 +4054,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeUncompressed() address, err := btcutil.NewAddressPubKey(pk, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -4067,7 +4068,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -4111,7 +4112,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeUncompressed() address, err := btcutil.NewAddressPubKey(pk, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -4125,7 +4126,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -4141,7 +4142,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, false}, }), mkGetScript(map[string][]byte{ @@ -4156,7 +4157,7 @@ func TestSignTxOutput(t *testing.T) { // by the above loop, this should be valid, now sign // again and merge. sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, false}, }), mkGetScript(map[string][]byte{ @@ -4193,7 +4194,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeCompressed() address, err := btcutil.NewAddressPubKey(pk, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -4207,7 +4208,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -4251,7 +4252,7 @@ func TestSignTxOutput(t *testing.T) { pk := (*btcec.PublicKey)(&key.PublicKey). SerializeCompressed() address, err := btcutil.NewAddressPubKey(pk, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -4265,7 +4266,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -4281,7 +4282,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, true}, }), mkGetScript(map[string][]byte{ @@ -4296,7 +4297,7 @@ func TestSignTxOutput(t *testing.T) { // by the above loop, this should be valid, now sign // again and merge. sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address.EncodeAddress(): {key, true}, }), mkGetScript(map[string][]byte{ @@ -4333,7 +4334,7 @@ func TestSignTxOutput(t *testing.T) { pk1 := (*btcec.PublicKey)(&key1.PublicKey). SerializeCompressed() address1, err := btcutil.NewAddressPubKey(pk1, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -4351,7 +4352,7 @@ func TestSignTxOutput(t *testing.T) { pk2 := (*btcec.PublicKey)(&key2.PublicKey). SerializeCompressed() address2, err := btcutil.NewAddressPubKey(pk2, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address 2 for %s: %v", msg, err) @@ -4367,7 +4368,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -4412,7 +4413,7 @@ func TestSignTxOutput(t *testing.T) { pk1 := (*btcec.PublicKey)(&key1.PublicKey). SerializeCompressed() address1, err := btcutil.NewAddressPubKey(pk1, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -4430,7 +4431,7 @@ func TestSignTxOutput(t *testing.T) { pk2 := (*btcec.PublicKey)(&key2.PublicKey). SerializeCompressed() address2, err := btcutil.NewAddressPubKey(pk2, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address 2 for %s: %v", msg, err) @@ -4446,7 +4447,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -4462,7 +4463,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address1.EncodeAddress(): {key1, true}, }), mkGetScript(map[string][]byte{ @@ -4483,7 +4484,7 @@ func TestSignTxOutput(t *testing.T) { // Sign with the other key and merge sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address2.EncodeAddress(): {key2, true}, }), mkGetScript(map[string][]byte{ @@ -4521,7 +4522,7 @@ func TestSignTxOutput(t *testing.T) { pk1 := (*btcec.PublicKey)(&key1.PublicKey). SerializeCompressed() address1, err := btcutil.NewAddressPubKey(pk1, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address for %s: %v", msg, err) @@ -4539,7 +4540,7 @@ func TestSignTxOutput(t *testing.T) { pk2 := (*btcec.PublicKey)(&key2.PublicKey). SerializeCompressed() address2, err := btcutil.NewAddressPubKey(pk2, - btcwire.TestNet3) + &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make address 2 for %s: %v", msg, err) @@ -4555,7 +4556,7 @@ func TestSignTxOutput(t *testing.T) { } scriptAddr, err := btcutil.NewAddressScriptHash( - pkScript, btcwire.TestNet3) + pkScript, &btcnet.TestNet3Params) if err != nil { t.Errorf("failed to make p2sh addr for %s: %v", msg, err) @@ -4571,7 +4572,7 @@ func TestSignTxOutput(t *testing.T) { } sigScript, err := btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address1.EncodeAddress(): {key1, true}, }), mkGetScript(map[string][]byte{ @@ -4592,7 +4593,7 @@ func TestSignTxOutput(t *testing.T) { // Sign with the other key and merge sigScript, err = btcscript.SignTxOutput( - btcwire.TestNet3, tx, i, scriptPkScript, + &btcnet.TestNet3Params, tx, i, scriptPkScript, hashType, mkGetKey(map[string]addressToKey{ address1.EncodeAddress(): {key1, true}, address2.EncodeAddress(): {key2, true}, diff --git a/test_coverage.txt b/test_coverage.txt index aa6dc207..b1285dfb 100644 --- a/test_coverage.txt +++ b/test_coverage.txt @@ -90,7 +90,7 @@ github.com/conformal/btcscript/script.go GetScriptClass 100.00% (4/4) github.com/conformal/btcscript/script.go Script.DisasmPC 100.00% (4/4) github.com/conformal/btcscript/opcode.go parsedOpcode.alwaysIllegal 100.00% (4/4) github.com/conformal/btcscript/script.go getStack 100.00% (4/4) -github.com/conformal/btcscript/script.go @1320:17 100.00% (4/4) +github.com/conformal/btcscript/script.go @1321:17 100.00% (4/4) github.com/conformal/btcscript/stack.go asBool 100.00% (4/4) github.com/conformal/btcscript/stack.go Stack.PopInt 100.00% (4/4) github.com/conformal/btcscript/stack.go Stack.PopBool 100.00% (4/4) @@ -171,9 +171,9 @@ github.com/conformal/btcscript/script.go HasCanonicalPushes 71.43% (5/7) github.com/conformal/btcscript/script.go sign 69.23% (18/26) github.com/conformal/btcscript/log.go SetLogWriter 0.00% (0/10) github.com/conformal/btcscript/script.go CalcMultiSigStats 0.00% (0/8) -github.com/conformal/btcscript/script.go @577:34 0.00% (0/6) -github.com/conformal/btcscript/script.go @565:34 0.00% (0/4) -github.com/conformal/btcscript/script.go @610:34 0.00% (0/3) +github.com/conformal/btcscript/script.go @578:34 0.00% (0/6) +github.com/conformal/btcscript/script.go @566:34 0.00% (0/4) +github.com/conformal/btcscript/script.go @611:34 0.00% (0/3) github.com/conformal/btcscript/log.go UseLogger 0.00% (0/1) github.com/conformal/btcscript/opcode.go opcodeDisabled 0.00% (0/1) github.com/conformal/btcscript/log.go logClosure.String 0.00% (0/1)