8 "github.com/vapor/encoding/blockchain"
9 "github.com/vapor/protocol/bc"
10 "github.com/vapor/testutil"
13 func TestReadWriteSpendCommitment(t *testing.T) {
14 btmAssetID := testutil.MustDecodeAsset("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
21 AssetAmount: bc.AssetAmount{
25 SourceID: testutil.MustDecodeHash("3160fb24f97e06ad5a9717cd47fe2b65c7409903216b39120b10550282b20e99"),
28 ControlProgram: testutil.MustDecodeHexString("0014d927424f4e8c242460b538f04c2676b97842e9a7"),
30 encodeString: "5a3160fb24f97e06ad5a9717cd47fe2b65c7409903216b39120b10550282b20e99ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff640001160014d927424f4e8c242460b538f04c2676b97842e9a7",
34 AssetAmount: bc.AssetAmount{
38 SourceID: testutil.MustDecodeHash("4b5cb973f5bef4eadde4c89b92ee73312b940e84164da0594149554cc8a2adea"),
41 ControlProgram: testutil.MustDecodeHexString("001418549d84daf53344d32563830c7cf979dc19d5c0"),
43 encodeString: "5b4b5cb973f5bef4eadde4c89b92ee73312b940e84164da0594149554cc8a2adeaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe707020116001418549d84daf53344d32563830c7cf979dc19d5c0",
47 for _, c := range cases {
49 buffer := bytes.NewBuffer(buff)
50 if err := c.sc.writeExtensibleString(buffer, nil, 1); err != nil {
54 got := hex.EncodeToString(buffer.Bytes())
55 if got != c.encodeString {
56 t.Errorf("test write spend commitment fail, got:%s, want:%s", got, c.encodeString)
59 sc := &SpendCommitment{}
60 _, err := sc.readFrom(blockchain.NewReader(buffer.Bytes()), 1)
65 if !testutil.DeepEqual(*sc, *c.sc) {
66 t.Errorf("test read spend commitment fail, got:%v, want:%v", *sc, *c.sc)