You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
46 lines
1.1 KiB
package input |
|
|
|
import ( |
|
"bytes" |
|
"reflect" |
|
"testing" |
|
|
|
"github.com/btcsuite/btcd/wire" |
|
) |
|
|
|
func TestTxOutSerialization(t *testing.T) { |
|
txo := wire.TxOut{ |
|
Value: 1e7, |
|
PkScript: []byte{ |
|
0x41, // OP_DATA_65 |
|
0x04, 0xd6, 0x4b, 0xdf, 0xd0, 0x9e, 0xb1, 0xc5, |
|
0xfe, 0x29, 0x5a, 0xbd, 0xeb, 0x1d, 0xca, 0x42, |
|
0x81, 0xbe, 0x98, 0x8e, 0x2d, 0xa0, 0xb6, 0xc1, |
|
0xc6, 0xa5, 0x9d, 0xc2, 0x26, 0xc2, 0x86, 0x24, |
|
0xe1, 0x81, 0x75, 0xe8, 0x51, 0xc9, 0x6b, 0x97, |
|
0x3d, 0x81, 0xb0, 0x1c, 0xc3, 0x1f, 0x04, 0x78, |
|
0x34, 0xbc, 0x06, 0xd6, 0xd6, 0xed, 0xf6, 0x20, |
|
0xd1, 0x84, 0x24, 0x1a, 0x6a, 0xed, 0x8b, 0x63, |
|
0xa6, // 65-byte signature |
|
0xac, // OP_CHECKSIG |
|
}, |
|
} |
|
|
|
var buf bytes.Buffer |
|
|
|
if err := writeTxOut(&buf, &txo); err != nil { |
|
t.Fatalf("unable to serialize txout: %v", err) |
|
} |
|
|
|
var deserializedTxo wire.TxOut |
|
if err := readTxOut(&buf, &deserializedTxo); err != nil { |
|
t.Fatalf("unable to deserialize txout: %v", err) |
|
} |
|
|
|
if !reflect.DeepEqual(txo, deserializedTxo) { |
|
t.Fatalf("original and deserialized txouts are different:\n"+ |
|
"original : %+v\n"+ |
|
"deserialized : %+v\n", |
|
txo, deserializedTxo) |
|
} |
|
}
|
|
|