Update API for btcnet and btcutil changes.
ok @davecgh
This commit is contained in:
parent
27e1ad758b
commit
be325b9d9c
5 changed files with 80 additions and 77 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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 {
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
||||
|
|
127
script_test.go
127
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},
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue