Package xbr.network.web3
Class StructuredDataEncoder
java.lang.Object
xbr.network.web3.StructuredDataEncoder
public class StructuredDataEncoder
extends java.lang.Object
-
Field Summary
Fields Modifier and Type Field Description xbr.network.web3.StructuredData.EIP712MessagejsonMessageObject -
Constructor Summary
Constructors Constructor Description StructuredDataEncoder(java.lang.String jsonMessageInString) -
Method Summary
Modifier and Type Method Description byte[]encodeData(java.lang.String primaryType, java.util.HashMap<java.lang.String,java.lang.Object> data)java.lang.StringencodeStruct(java.lang.String structName)java.lang.StringencodeType(java.lang.String primaryType)java.util.List<java.lang.Object>flattenMultidimensionalArray(java.lang.Object data)java.util.List<java.lang.Integer>getArrayDimensionsFromData(java.lang.Object data)java.util.List<java.lang.Integer>getArrayDimensionsFromDeclaration(java.lang.String declaration)java.util.Set<java.lang.String>getDependencies(java.lang.String primaryType)java.util.List<Pair>getDepthsAndDimensions(java.lang.Object data, int depth)byte[]hashDomain()byte[]hashMessage(java.lang.String primaryType, java.util.HashMap<java.lang.String,java.lang.Object> data)byte[]hashStructuredData()xbr.network.web3.StructuredData.EIP712MessageparseJSONMessage(java.lang.String jsonMessageInString)byte[]typeHash(java.lang.String primaryType)voidvalidateStructuredData(xbr.network.web3.StructuredData.EIP712Message jsonMessageObject)
-
Field Details
-
jsonMessageObject
public final xbr.network.web3.StructuredData.EIP712Message jsonMessageObject
-
-
Constructor Details
-
StructuredDataEncoder
public StructuredDataEncoder(java.lang.String jsonMessageInString) throws java.io.IOException, java.lang.RuntimeException- Throws:
java.io.IOExceptionjava.lang.RuntimeException
-
-
Method Details
-
getDependencies
public java.util.Set<java.lang.String> getDependencies(java.lang.String primaryType) -
encodeStruct
public java.lang.String encodeStruct(java.lang.String structName) -
encodeType
public java.lang.String encodeType(java.lang.String primaryType) -
typeHash
public byte[] typeHash(java.lang.String primaryType) -
getArrayDimensionsFromDeclaration
public java.util.List<java.lang.Integer> getArrayDimensionsFromDeclaration(java.lang.String declaration) -
getDepthsAndDimensions
-
getArrayDimensionsFromData
public java.util.List<java.lang.Integer> getArrayDimensionsFromData(java.lang.Object data) throws java.lang.RuntimeException- Throws:
java.lang.RuntimeException
-
flattenMultidimensionalArray
public java.util.List<java.lang.Object> flattenMultidimensionalArray(java.lang.Object data) -
encodeData
public byte[] encodeData(java.lang.String primaryType, java.util.HashMap<java.lang.String,java.lang.Object> data) throws java.lang.RuntimeException- Throws:
java.lang.RuntimeException
-
hashMessage
public byte[] hashMessage(java.lang.String primaryType, java.util.HashMap<java.lang.String,java.lang.Object> data) throws java.lang.RuntimeException- Throws:
java.lang.RuntimeException
-
hashDomain
public byte[] hashDomain() throws java.lang.RuntimeException- Throws:
java.lang.RuntimeException
-
validateStructuredData
public void validateStructuredData(xbr.network.web3.StructuredData.EIP712Message jsonMessageObject) throws java.lang.RuntimeException- Throws:
java.lang.RuntimeException
-
parseJSONMessage
public xbr.network.web3.StructuredData.EIP712Message parseJSONMessage(java.lang.String jsonMessageInString) throws java.io.IOException, java.lang.RuntimeException- Throws:
java.io.IOExceptionjava.lang.RuntimeException
-
hashStructuredData
public byte[] hashStructuredData() throws java.lang.RuntimeException- Throws:
java.lang.RuntimeException
-