Class UtilsWrapper


  • public class UtilsWrapper
    extends java.lang.Object
    Representing an UtilsWrapper 1. This class wraps all static methods of Utils 2. This class should be accessed via `caver.utils`
    • Constructor Summary

      Constructors 
      Constructor Description
      UtilsWrapper()
      Creates an UtilsWrapper
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String addHexPrefix​(java.lang.String str)
      Add hex prefix("0x").
      boolean checkAddressChecksum​(java.lang.String address)
      Check if address has valid checksum.
      java.lang.String compressPublicKey​(java.lang.String publicKey)
      Convert an uncompressed public key to a compressed public key Given public key has already compressed format, it will return.
      java.lang.String convertFromPeb​(java.lang.String num, Utils.KlayUnit unit)
      Converts peb amount to specific unit amount.
      java.lang.String convertFromPeb​(java.lang.String num, java.lang.String unit)
      Converts peb amount to specific unit amount.
      java.lang.String convertFromPeb​(java.math.BigDecimal num, Utils.KlayUnit unit)
      Converts peb amount to specific unit amount.
      java.lang.String convertFromPeb​(java.math.BigDecimal num, java.lang.String unit)
      Converts peb amount to specific unit amount.
      java.lang.String convertToPeb​(java.lang.String num, Utils.KlayUnit unit)
      Converts amount to peb amount.
      java.lang.String convertToPeb​(java.lang.String num, java.lang.String unit)
      Converts amount to peb amount.
      java.lang.String convertToPeb​(java.math.BigDecimal num, Utils.KlayUnit unit)
      Converts amount to peb amount.
      java.lang.String convertToPeb​(java.math.BigDecimal num, java.lang.String unit)
      Converts amount to peb amount.
      SignatureData decodeSignature​(java.lang.String rawSig)
      Decodes a raw signature data that composed of R(32 byte) + S(32 byte) + V(1byte).
      java.lang.String decompressPublicKey​(java.lang.String publicKey)
      Convert a compressed public key to an uncompressed format.
      byte[] generateRandomBytes​(int size)
      Generate random bytes
      java.lang.String hashMessage​(java.lang.String message)
      Hashing message with added prefix("\x19Klaytn Signed Message:\n").
      boolean isAddress​(java.lang.String address)
      Check if string has address format.
      boolean isEmptySig​(SignatureData signatureData)
      Check if SignatureData instance has empty signature.
      boolean isEmptySig​(java.util.List<SignatureData> signatureDataList)
      Check if elements in SignatureData list has empty signature
      boolean isHex​(java.lang.String input)
      Check if string has hex format.
      boolean isHexStrict​(java.lang.String input)
      Check if string has hex format with "0x" prefix.
      boolean isKlaytnWalletKey​(java.lang.String key)
      Check if string has Klaytn wallet key format.
      boolean isNumber​(java.lang.String input)
      Check if string has hex number format.
      boolean isValidPrivateKey​(java.lang.String privateKey)
      Check if string has PrivateKey format.
      boolean isValidPublicKey​(java.lang.String publicKey)
      Check if the given public key is valid.
      java.lang.String[] parseKlaytnWalletKey​(java.lang.String key)
      Parse a klaytn wallet key string.
      java.lang.String publicKeyToAddress​(java.lang.String publicKey)
      Returns an address which is derived by a public key(handles both compressed format and decompressed format).
      java.lang.String recover​(java.lang.String message, SignatureData signatureData)
      Recovers the address that was used to sign the given data.
      java.lang.String recover​(java.lang.String message, SignatureData signatureData, boolean isPrefixed)
      Recovers the address that was used to sign the given data.
      java.lang.String recoverPublicKey​(java.lang.String message, SignatureData signatureData)
      Recovers the public key that was used to sign the given data.
      java.lang.String recoverPublicKey​(java.lang.String message, SignatureData signatureData, boolean isPrefixed)
      Recovers the public key that was used to sign the given data.
      java.lang.String stripHexPrefix​(java.lang.String str)
      Remove hex prefix("0x").
      • Methods inherited from class java.lang.Object

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

      • UtilsWrapper

        public UtilsWrapper()
        Creates an UtilsWrapper
    • Method Detail

      • isAddress

        public boolean isAddress​(java.lang.String address)
        Check if string has address format.
        Parameters:
        address - An address string.
        Returns:
        boolean
      • checkAddressChecksum

        public boolean checkAddressChecksum​(java.lang.String address)
        Check if address has valid checksum.
        Parameters:
        address - An address
        Returns:
        boolean
      • isValidPrivateKey

        public boolean isValidPrivateKey​(java.lang.String privateKey)
        Check if string has PrivateKey format.
        Parameters:
        privateKey - A key string.
        Returns:
        boolean
      • isKlaytnWalletKey

        public boolean isKlaytnWalletKey​(java.lang.String key)
        Check if string has Klaytn wallet key format.
        Parameters:
        key - A key string.
        Returns:
        boolean
      • isValidPublicKey

        public boolean isValidPublicKey​(java.lang.String publicKey)
        Check if the given public key is valid. It also check both compressed and uncompressed key.
        Parameters:
        publicKey - public key
        Returns:
        valid or not
      • decompressPublicKey

        public java.lang.String decompressPublicKey​(java.lang.String publicKey)
        Convert a compressed public key to an uncompressed format. Given public key has already uncompressed format, it will return
        Parameters:
        publicKey - public key string(uncompressed or compressed)
        Returns:
        uncompressed public key string
      • compressPublicKey

        public java.lang.String compressPublicKey​(java.lang.String publicKey)
        Convert an uncompressed public key to a compressed public key Given public key has already compressed format, it will return.
        Parameters:
        publicKey - public key string(uncompressed or compressed)
        Returns:
        compressed public key
      • hashMessage

        public java.lang.String hashMessage​(java.lang.String message)
        Hashing message with added prefix("\x19Klaytn Signed Message:\n").
        Parameters:
        message - A message to hash.
        Returns:
        String
      • parseKlaytnWalletKey

        public java.lang.String[] parseKlaytnWalletKey​(java.lang.String key)
        Parse a klaytn wallet key string.
        Parameters:
        key - klaytn wallet key string
        Returns:
        String array
      • isHex

        public boolean isHex​(java.lang.String input)
        Check if string has hex format.
        Parameters:
        input - A hex string
        Returns:
        boolean
      • isHexStrict

        public boolean isHexStrict​(java.lang.String input)
        Check if string has hex format with "0x" prefix.
        Parameters:
        input - A hex string
        Returns:
        boolean
      • addHexPrefix

        public java.lang.String addHexPrefix​(java.lang.String str)
        Add hex prefix("0x").
        Parameters:
        str - A hex string
        Returns:
        String
      • stripHexPrefix

        public java.lang.String stripHexPrefix​(java.lang.String str)
        Remove hex prefix("0x").
        Parameters:
        str - A hex string
        Returns:
        String
      • convertToPeb

        public java.lang.String convertToPeb​(java.lang.String num,
                                             java.lang.String unit)
        Converts amount to peb amount.
        Parameters:
        num - The amount to convert.
        unit - Th unit to convert from.
        Returns:
        String
      • convertToPeb

        public java.lang.String convertToPeb​(java.math.BigDecimal num,
                                             java.lang.String unit)
        Converts amount to peb amount.
        Parameters:
        num - The amount to convert.
        unit - Th unit to convert from.
        Returns:
        String
      • convertToPeb

        public java.lang.String convertToPeb​(java.lang.String num,
                                             Utils.KlayUnit unit)
        Converts amount to peb amount.
        Parameters:
        num - The amount to convert.
        unit - Th unit to convert from.
        Returns:
        String
      • convertToPeb

        public java.lang.String convertToPeb​(java.math.BigDecimal num,
                                             Utils.KlayUnit unit)
        Converts amount to peb amount.
        Parameters:
        num - The amount to convert.
        unit - Th unit to convert from.
        Returns:
        String
      • convertFromPeb

        public java.lang.String convertFromPeb​(java.lang.String num,
                                               java.lang.String unit)
        Converts peb amount to specific unit amount.
        Parameters:
        num - The peb amount
        unit - The unit to convert to
        Returns:
        String
      • convertFromPeb

        public java.lang.String convertFromPeb​(java.math.BigDecimal num,
                                               java.lang.String unit)
        Converts peb amount to specific unit amount.
        Parameters:
        num - The peb amount
        unit - The unit to convert to
        Returns:
        String
      • convertFromPeb

        public java.lang.String convertFromPeb​(java.lang.String num,
                                               Utils.KlayUnit unit)
        Converts peb amount to specific unit amount.
        Parameters:
        num - The peb amount
        unit - The unit to convert to
        Returns:
        String
      • convertFromPeb

        public java.lang.String convertFromPeb​(java.math.BigDecimal num,
                                               Utils.KlayUnit unit)
        Converts peb amount to specific unit amount.
        Parameters:
        num - The peb amount
        unit - The unit to convert to
        Returns:
        String
      • recover

        public java.lang.String recover​(java.lang.String message,
                                        SignatureData signatureData)
                                 throws java.security.SignatureException
        Recovers the address that was used to sign the given data. This function automatically creates a message hash by appending a Klaytn sign prefix to the message.
        Parameters:
        message - A plain message when using signed.
        signatureData - The signature values in KlaySignatureData
        Returns:
        String
        Throws:
        java.security.SignatureException - It throws when recover operation has failed.
      • recover

        public java.lang.String recover​(java.lang.String message,
                                        SignatureData signatureData,
                                        boolean isPrefixed)
                                 throws java.security.SignatureException
        Recovers the address that was used to sign the given data.
        Parameters:
        message - A plain message or hashed message.
        signatureData - The signature values in KlaySignatureData
        isPrefixed - If true, the message param already hashed by appending a Klaytn sign prefix to the message.
        Returns:
        String
        Throws:
        java.security.SignatureException - It throws when recover operation has failed.
      • recoverPublicKey

        public java.lang.String recoverPublicKey​(java.lang.String message,
                                                 SignatureData signatureData)
                                          throws java.security.SignatureException
        Recovers the public key that was used to sign the given data.

        This method hashes the message with klaytn prefix automatically.

        Example :
         
         String message = "Some Message";
         SignatureData signatureData = new SignatureData(
             "0x1b",
             "0x8213e560e7bbe1f2e28fd69cbbb41c9108b84c98cd7c2c88d3c8e3549fd6ab10",
             "0x3ca40c9e20c1525348d734a6724db152b9244bff6e0ff0c2b811d61d8f874f00"
         );
        
         String publicKey = caver.utils.recoverPublicKey(message, signatureData);
         
         
        Parameters:
        message - The raw message string.
        signatureData - The SignatureData to recover public key.
        Returns:
        String
        Throws:
        java.security.SignatureException
      • recoverPublicKey

        public java.lang.String recoverPublicKey​(java.lang.String message,
                                                 SignatureData signatureData,
                                                 boolean isPrefixed)
                                          throws java.security.SignatureException
        Recovers the public key that was used to sign the given data.
        Example :
         
         String message = "Some Message";
         SignatureData signatureData = new SignatureData(
             "0x1b",
             "0x8213e560e7bbe1f2e28fd69cbbb41c9108b84c98cd7c2c88d3c8e3549fd6ab10",
             "0x3ca40c9e20c1525348d734a6724db152b9244bff6e0ff0c2b811d61d8f874f00"
         );
        
         String publicKey = caver.utils.recoverPublicKey(message, signatureData, false);
         
         
        Parameters:
        message - The raw message string. If this message is already hashed with Klaytn prefix, the third parameter should be true.
        signatureData - The SignatureData to recover public key.
        isPrefixed - If true, the message param already hashed by appending a Klaytn sign prefix to the message.
        Returns:
        String
        Throws:
        java.security.SignatureException
      • publicKeyToAddress

        public java.lang.String publicKeyToAddress​(java.lang.String publicKey)
        Returns an address which is derived by a public key(handles both compressed format and decompressed format).

        This function simply converts the public key string into address from by hashing it.

        It has nothing to do with the actual account in the Klaytn.

        Example :
         
         String address = caver.utils.publicKeyToAddress("0x{public key}");
         
         
        Parameters:
        publicKey - The public key string to get the address.
        Returns:
        String
      • isNumber

        public boolean isNumber​(java.lang.String input)
        Check if string has hex number format.
        Parameters:
        input - A hex number format string
        Returns:
        boolean
      • isEmptySig

        public boolean isEmptySig​(SignatureData signatureData)
        Check if SignatureData instance has empty signature.
        Parameters:
        signatureData - A SignatureData instance.
        Returns:
        boolean
      • isEmptySig

        public boolean isEmptySig​(java.util.List<SignatureData> signatureDataList)
        Check if elements in SignatureData list has empty signature
        Parameters:
        signatureDataList - A List of SignatureData
        Returns:
        boolean
      • generateRandomBytes

        public byte[] generateRandomBytes​(int size)
        Generate random bytes
        Parameters:
        size - A size to generate random byte
        Returns:
        byte array
      • decodeSignature

        public SignatureData decodeSignature​(java.lang.String rawSig)
        Decodes a raw signature data that composed of R(32 byte) + S(32 byte) + V(1byte).
        Parameters:
        rawSig - A signature data to decode. It composed of R(32 byte) + S(32 byte) + V(1byte).
        Returns:
        SignatureData