Class StructuredDataEncoder


  • public class StructuredDataEncoder
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      org.web3j.crypto.StructuredData.EIP712Message jsonMessageObject  
    • Constructor Summary

      Constructors 
      Constructor Description
      StructuredDataEncoder​(java.lang.String jsonMessageInString)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] encodeData​(java.lang.String primaryType, java.util.HashMap<java.lang.String,​java.lang.Object> data)  
      java.lang.String encodeStruct​(java.lang.String structName)  
      java.lang.String encodeType​(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<org.web3j.crypto.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()  
      org.web3j.crypto.StructuredData.EIP712Message parseJSONMessage​(java.lang.String jsonMessageInString)  
      byte[] typeHash​(java.lang.String primaryType)  
      void validateStructuredData​(org.web3j.crypto.StructuredData.EIP712Message jsonMessageObject)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • jsonMessageObject

        public final org.web3j.crypto.StructuredData.EIP712Message jsonMessageObject
    • Constructor Detail

      • StructuredDataEncoder

        public StructuredDataEncoder​(java.lang.String jsonMessageInString)
                              throws java.io.IOException,
                                     java.lang.RuntimeException
        Throws:
        java.io.IOException
        java.lang.RuntimeException
    • Method Detail

      • 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

        public java.util.List<org.web3j.crypto.Pair> getDepthsAndDimensions​(java.lang.Object data,
                                                                            int depth)
      • 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​(org.web3j.crypto.StructuredData.EIP712Message jsonMessageObject)
                                    throws java.lang.RuntimeException
        Throws:
        java.lang.RuntimeException
      • parseJSONMessage

        public org.web3j.crypto.StructuredData.EIP712Message parseJSONMessage​(java.lang.String jsonMessageInString)
                                                                       throws java.io.IOException,
                                                                              java.lang.RuntimeException
        Throws:
        java.io.IOException
        java.lang.RuntimeException
      • hashStructuredData

        public byte[] hashStructuredData()
                                  throws java.lang.RuntimeException
        Throws:
        java.lang.RuntimeException