OSDN Git Service

update
[bytom/shuttle.git] / swap / htlc_test.go
1 package swap
2
3 import (
4         "fmt"
5         "testing"
6 )
7
8 func TestDeployHTLCContract(t *testing.T) {
9         account := HTLCAccount{
10                 AccountID: "10CJPO1HG0A02",
11                 Password:  "12345",
12                 TxFee:     uint64(100000000),
13         }
14         contractArgs := HTLCContractArgs{
15                 SenderPublicKey:    "3e5d7d52d334964eef173021ef6a04dc0807ac8c41700fe718f5a80c2109f79e",
16                 RecipientPublicKey: "198787c8380ed1ba6fec1f81bb68c17c16432c4bc646effe0a5fae4f1b528f16",
17                 BlockHeight:        uint64(950),
18                 Hash:               "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824",
19         }
20         contractValue := AssetAmount{
21                 Asset:  "bae7e17bb8f5d0cfbfd87a92f3204da082d388d4c9b10e8dcd36b3d0a18ceb3a",
22                 Amount: uint64(20000000000),
23         }
24         contractUTXOID, err := DeployHTLCContract(account, contractValue, contractArgs)
25         if err != nil {
26                 fmt.Println(err)
27         }
28         fmt.Println("contractUTXOID:", contractUTXOID)
29 }
30
31 func TestBuildUnlockHTLCContractTransaction(t *testing.T) {
32         account := HTLCAccount{
33                 AccountID: "10CKAD3000A02",
34                 Password:  "12345",
35                 Receiver:  "00140fdee108543d305308097019ceb5aec3da60ec66",
36                 TxFee:     uint64(100000000),
37         }
38         contractUTXOID := "e5b3b14c03eaab17c21cc23b925309bd7b8f8ed85b3fd078e0170498f5e069c8"
39         contractValue := AssetAmount{
40                 Asset:  "bae7e17bb8f5d0cfbfd87a92f3204da082d388d4c9b10e8dcd36b3d0a18ceb3a",
41                 Amount: uint64(20000000000),
42         }
43         buildTxResp, err := buildUnlockHTLCContractTransaction(account, contractUTXOID, contractValue)
44         if err != nil {
45                 fmt.Println(err)
46         }
47         fmt.Println("raw transaction:", buildTxResp.RawTransaction)
48         contractControlProgram, signData, err := decodeRawTransaction(buildTxResp.RawTransaction, contractValue)
49         if err != nil {
50                 fmt.Println(err)
51         }
52         fmt.Println("contractControlProgram:", contractControlProgram)
53         fmt.Println("signData:", signData)
54
55         // preimage := "68656c6c6f" // b'hello'.hex()
56         // recipientSig := ""
57         // signedTransaction, err := signUnlockHTLCContractTransaction(account, preimage, recipientSig, *buildTxResp)
58
59 }