Package com.klaytn.caver.utils.wrapper
Class UtilsWrapper
- java.lang.Object
-
- com.klaytn.caver.utils.wrapper.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 bytesjava.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 signatureboolean
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").
-
-
-
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 amountunit
- 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 amountunit
- 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 amountunit
- 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 amountunit
- 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 KlaySignatureDataisPrefixed
- 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
- TheSignatureData
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
- TheSignatureData
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
-
-