3 import com.google.gson.annotations.SerializedName;
4 import io.bytom.common.Utils;
5 import io.bytom.exception.BytomException;
6 import io.bytom.http.Client;
7 import org.apache.log4j.Logger;
11 @SerializedName("derived_xpub")
12 public String derivedXpub;
13 @SerializedName("signature")
14 public String signature;
16 private static Logger logger = Logger.getLogger(Message.class);
18 public String toJson() {
19 return Utils.serializer.toJson(this);
22 public static class SignBuilder {
24 public String address;
25 public String message;
26 public String password;
28 public SignBuilder setAddress(String address) {
29 this.address = address;
33 public SignBuilder setMessage(String message) {
34 this.message = message;
38 public SignBuilder setPassword(String password) {
39 this.password = password;
44 * Call sign-message api
48 * @throws BytomException
50 public Message sign(Client client) throws BytomException {
51 Message message = client.request("sign-message", this, Message.class);
53 logger.info("sign-message:");
54 logger.info(message.toJson());
61 public static class VerifyBuilder {
64 * address, address for account.
66 public String address;
69 * derived_xpub, derived xpub.
71 @SerializedName("derived_xpub")
72 public String derivedXpub;
75 * message, message for signature by derived_xpub.
77 public String message;
80 * signature, signature for message.
82 public String signature;
85 public VerifyBuilder setAddress(String address) {
86 this.address = address;
90 public VerifyBuilder setDerivedXpub(String derivedXpub) {
91 this.derivedXpub = derivedXpub;
95 public VerifyBuilder setMessage(String message) {
96 this.message = message;
100 public VerifyBuilder setSignature(String signature) {
101 this.signature = signature;
106 * Call verify-message api
109 * @throws BytomException
111 public Boolean verifyMessage(Client client) throws BytomException {
112 Boolean result = client.requestGet("verify-message", this, "result", Boolean.class);
114 logger.info("verify-message:"+result);