Class Validator
- java.lang.Object
-
- com.klaytn.caver.validator.Validator
-
public class Validator extends java.lang.Object
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
validateFeePayer(AbstractFeeDelegatedTransaction tx)
Validates the fee payer in the transaction.boolean
validateSender(AbstractTransaction tx)
Validates the sender of the transaction.boolean
validateSignedMessage(java.lang.String message, SignatureData signature, java.lang.String address)
Validate a signed message.boolean
validateSignedMessage(java.lang.String message, SignatureData signature, java.lang.String address, boolean isHashed)
Validate a signed message.boolean
validateSignedMessage(java.lang.String message, java.util.List<SignatureData> signatures, java.lang.String address)
Validate a signed message.boolean
validateSignedMessage(java.lang.String message, java.util.List<SignatureData> signatures, java.lang.String address, boolean isHashed)
Validate a signed message.boolean
validateTransaction(AbstractTransaction tx)
Validates a transaction.
-
-
-
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, seevalidateSignedMessage(String, SignatureData, String, boolean)
signature
- TheSignatureData
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
- TheSignatureData
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, seevalidateSignedMessage(String, List, String, boolean)
signatures
- The list ofSignatureData
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, seevalidateSignedMessage(String, List, String, boolean)
signatures
- The list ofSignatureData
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
-
-