"errors"
"fmt"
"strconv"
+ "strings"
)
var (
return "", "", errFailedGetSignData
}
+func getRecipientPublicKey(contractControlProgram string) (string, error) {
+ payload := []byte(fmt.Sprintf(
+ decodeProgramPayload,
+ contractControlProgram,
+ ))
+ res := new(decodeProgramResponse)
+ if err := request(decodeProgramURL, payload, res); err != nil {
+ return "", err
+ }
+
+ publicKey := strings.Fields(res.Instructions)[5]
+ return publicKey, nil
+}
+
type signUnlockHTLCContractTransactionRequest struct {
Password string `json:"password"`
Transaction buildUnlockHTLCContractTransactionResponse `json:"transaction"`