8 func TestDeployHTLCContract(t *testing.T) {
9 account := HTLCAccount{
10 AccountID: "10CJPO1HG0A02",
12 TxFee: uint64(100000000),
14 contractArgs := HTLCContractArgs{
15 SenderPublicKey: "3e5d7d52d334964eef173021ef6a04dc0807ac8c41700fe718f5a80c2109f79e",
16 RecipientPublicKey: "198787c8380ed1ba6fec1f81bb68c17c16432c4bc646effe0a5fae4f1b528f16",
17 BlockHeight: uint64(950),
18 Hash: "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824",
20 contractValue := AssetAmount{
21 Asset: "bae7e17bb8f5d0cfbfd87a92f3204da082d388d4c9b10e8dcd36b3d0a18ceb3a",
22 Amount: uint64(20000000000),
24 contractUTXOID, err := DeployHTLCContract(account, contractValue, contractArgs)
28 fmt.Println("contractUTXOID:", contractUTXOID)
31 func TestBuildUnlockHTLCContractTransaction(t *testing.T) {
32 account := HTLCAccount{
33 AccountID: "10CKAD3000A02",
35 Receiver: "00140fdee108543d305308097019ceb5aec3da60ec66",
36 TxFee: uint64(100000000),
38 contractUTXOID := "e5b3b14c03eaab17c21cc23b925309bd7b8f8ed85b3fd078e0170498f5e069c8"
39 contractValue := AssetAmount{
40 Asset: "bae7e17bb8f5d0cfbfd87a92f3204da082d388d4c9b10e8dcd36b3d0a18ceb3a",
41 Amount: uint64(20000000000),
43 buildTxResp, err := buildUnlockHTLCContractTransaction(account, contractUTXOID, contractValue)
47 fmt.Println("raw transaction:", buildTxResp.RawTransaction)
48 contractControlProgram, signData, err := decodeRawTransaction(buildTxResp.RawTransaction, contractValue)
52 fmt.Println("contractControlProgram:", contractControlProgram)
53 fmt.Println("signData:", signData)
55 // preimage := "68656c6c6f" // b'hello'.hex()
57 // signedTransaction, err := signUnlockHTLCContractTransaction(account, preimage, recipientSig, *buildTxResp)