Class Validator


  • public class Validator
    extends java.lang.Object
    • Constructor Detail

      • Validator

        public Validator​(Klay klay)
        Create a Validator instance.
        Parameters:
        klay - The Klay instance.
    • Method Detail

      • validateSignedMessage

        public boolean validateSignedMessage​(java.lang.String message,
                                             SignatureData signature,
                                             java.lang.String address)
        Validate a signed message.

        This function will compare public key in account key information from Klaytn and public key recovered form signature.

        Example :
         
         String address = "0x{address}";
         String message = "Some data";
         SignatureData sigData = new SignatureData("0x{v data}", "0x{r data}", "0x{s data}");
        
         boolean isValid = caver.validator.validateSignedMessage(message, sigData, address);
         
         
        Parameters:
        message - The raw message string. If you want to pass data that already hashed with Klaytn specific prefix, see validateSignedMessage(String, SignatureData, String, boolean)
        signature - The SignatureData instance to validate signature data.
        address - The address of the account that signed the message.
        Returns:
        boolean
      • validateSignedMessage

        public boolean validateSignedMessage​(java.lang.String message,
                                             SignatureData signature,
                                             java.lang.String address,
                                             boolean isHashed)
        Validate a signed message.

        This function will compare public key in account key information from Klaytn and public key recovered form signature.

        Example :
         
         String address = "0x{address}";
         String message = "Some data";
         SignatureData sigData = new SignatureData("0x{v data}", "0x{r data}", "0x{s data}");
        
         boolean isValid = caver.validator.validateSignedMessage(message, sigData, address);
         
         
        Parameters:
        message - The raw message string. If you want to pass data that already hashed with Klaytn specific prefix, the third parameter should be passed as true.
        signature - The SignatureData instance to validate signature data.
        address - The address of the account that signed the message.
        isHashed - If the `isHashed` is true, the given message will NOT automatically be prefixed with "\x19Klaytn Signed Message:\n" + message.length + message, and be assumed as already prefixed.
        Returns:
        boolean
      • validateSignedMessage

        public boolean validateSignedMessage​(java.lang.String message,
                                             java.util.List<SignatureData> signatures,
                                             java.lang.String address)
        Validate a signed message.

        This function will compare public key in account key information from Klaytn and public key recovered form signature.

        Example :
         
         String address = "0x{address}";
         String message = "Some data";
         List<SignatureData> sigDataList = Arrays.asList(new SignatureData("0x{v data}", "0x{r data}", "0x{s data}"), .....);
        
         boolean isValid = caver.validator.validateSignedMessage(message, sigDataList, address);
         
         
        Parameters:
        message - The raw message string. If you want to pass data that already hashed with Klaytn specific prefix, see validateSignedMessage(String, List, String, boolean)
        signatures - The list of SignatureData instance to validate signatures.
        address - The address of the account that signed the message.
        Returns:
        boolean
      • validateSignedMessage

        public boolean validateSignedMessage​(java.lang.String message,
                                             java.util.List<SignatureData> signatures,
                                             java.lang.String address,
                                             boolean isHashed)
        Validate a signed message.

        This function will compare public key in account key information from Klaytn and public key recovered form signature.

        Example :
         
         String address = "0x{address}";
         String message = "Some data";
         List<SignatureData> sigDataList = Arrays.asList(new SignatureData("0x{v data}", "0x{r data}", "0x{s data}"), .....);
        
         boolean isValid = caver.validator.validateSignedMessage(message, sigDataList, address);
         
         
        Parameters:
        message - The raw message string. If you want to pass data that already hashed with Klaytn specific prefix, see validateSignedMessage(String, List, String, boolean)
        signatures - The list of SignatureData instance to validate signatures.
        address - The address of the account that signed the message.
        isHashed - If the `isHashed` is true, the given message will NOT automatically be prefixed with "\x19Klaytn Signed Message:\n" + message.length + message, and be assumed as already prefixed.
        Returns:
        boolean
      • validateSender

        public boolean validateSender​(AbstractTransaction tx)
        Validates the sender of the transaction.

        This function compares the public keys of the account key of sender with the public keys recovered from signatures field.

        Example :
         
         ValueTransfer tx = caver.transaction.valueTransfer.create(...);
         boolean isValid = caver.validator.validateSender(tx);
         
         
        Parameters:
        tx - An instance of transaction to validate
        Returns:
        boolean
      • validateFeePayer

        public boolean validateFeePayer​(AbstractFeeDelegatedTransaction tx)
        Validates the fee payer in the transaction.

        This function compares the public keys of the account key of the fee payer with the public keys recovered from feePayerSignatures field.

        Example :
         
         ValueTransfer tx = caver.transaction.valueTransfer.create(...);
         boolean isValid = caver.validator.validateSender(tx);
         
         
        Parameters:
        tx - An instance of transaction to validate
        Returns:
        boolean
      • validateTransaction

        public boolean validateTransaction​(AbstractTransaction tx)
        Validates a transaction.

        This function compares the public keys of the account key of sender with the public keys recovered from signatures field.

        If the transaction is fee-delegated with the `feePayerSignatures` variable inside, this function compares the public keys recovered from `feePayerSignatures` with the public keys of the fee payer.

        Example
         
         ValueTransfer tx = caver.transaction.valueTransfer.create(...);
         boolean isValid = caver.validator.validateSender(tx);
         
         
        Parameters:
        tx - An instance of transaction to validate.
        Returns:
        boolean