Making the HtlcHash class implement the JsonSerializable interface
This commit is contained in:
parent
ca30338af6
commit
9312280897
1 changed files with 22 additions and 1 deletions
|
@ -1,13 +1,16 @@
|
|||
package cy.agorise.graphenej;
|
||||
|
||||
import com.google.common.primitives.Bytes;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
|
||||
import cy.agorise.graphenej.interfaces.ByteSerializable;
|
||||
import cy.agorise.graphenej.interfaces.JsonSerializable;
|
||||
|
||||
/**
|
||||
* Class used to represent a HTLC hash.
|
||||
*/
|
||||
public class HtlcHash implements ByteSerializable {
|
||||
public class HtlcHash implements ByteSerializable, JsonSerializable {
|
||||
private HtlcHashType hashType;
|
||||
private byte[] hash;
|
||||
|
||||
|
@ -16,9 +19,27 @@ public class HtlcHash implements ByteSerializable {
|
|||
this.hash = hash;
|
||||
}
|
||||
|
||||
public HtlcHashType getType(){
|
||||
return this.hashType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] toBytes() {
|
||||
byte[] hashTypeBytes = new byte[] { Util.revertInteger(hashType.ordinal())[3] };
|
||||
return Bytes.concat(hashTypeBytes, hash);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJsonString() {
|
||||
JsonElement element = toJsonObject();
|
||||
return element.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonElement toJsonObject() {
|
||||
JsonArray array = new JsonArray();
|
||||
array.add(hashType.ordinal());
|
||||
array.add(Util.byteToString(hash));
|
||||
return array;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue