8 "github.com/bytom/bytom/encoding/blockchain"
9 "github.com/bytom/bytom/protocol/bc"
10 "github.com/bytom/bytom/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"),
29 StateData: [][]byte{testutil.MustDecodeHexString("1234abcd")},
31 encodeString: "603160fb24f97e06ad5a9717cd47fe2b65c7409903216b39120b10550282b20e99ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff640001160014d927424f4e8c242460b538f04c2676b97842e9a701041234abcd",
35 AssetAmount: bc.AssetAmount{
39 SourceID: testutil.MustDecodeHash("4b5cb973f5bef4eadde4c89b92ee73312b940e84164da0594149554cc8a2adea"),
42 ControlProgram: testutil.MustDecodeHexString("001418549d84daf53344d32563830c7cf979dc19d5c0"),
43 StateData: [][]byte{testutil.MustDecodeHexString("123456abcdef")},
45 encodeString: "634b5cb973f5bef4eadde4c89b92ee73312b940e84164da0594149554cc8a2adeaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe707020116001418549d84daf53344d32563830c7cf979dc19d5c00106123456abcdef",
49 for _, c := range cases {
51 buffer := bytes.NewBuffer(buff)
52 if err := c.sc.writeExtensibleString(buffer, nil, 1); err != nil {
56 got := hex.EncodeToString(buffer.Bytes())
57 if got != c.encodeString {
58 t.Errorf("test write spend commitment fail, got:%s, want:%s", got, c.encodeString)
61 sc := &SpendCommitment{}
62 _, err := sc.readFrom(blockchain.NewReader(buffer.Bytes()), 1)
67 if !testutil.DeepEqual(*sc, *c.sc) {
68 t.Errorf("test read spend commitment fail, got:%v, want:%v", *sc, *c.sc)