{
EXPIRED_MESSAGE => "Expired message.",
INVALID_DOMAIN => "Invalid domain.",
SCHEME_MISMATCH => "Scheme does not match provided scheme for verification.",
DOMAIN_MISMATCH => "Domain does not match provided domain for verification.",
NONCE_MISMATCH => "Nonce does not match provided nonce for verification.",
URI_MISMATCH => "URI does not match provided URI for verification.",
CHAIN_ID_MISMATCH => "Chain ID does not match provided chain ID for verification.",
REQUEST_ID_MISMATCH => "Request ID does not match provided request ID for verification.",
INVALID_ADDRESS => "Invalid address.",
INVALID_URI => "URI does not conform to RFC 3986.",
INVALID_NONCE => "Nonce size smaller than 8 characters or is not alphanumeric.",
NOT_YET_VALID_MESSAGE => "Message is not valid yet.",
INVALID_SIGNATURE => "Signature does not match address of the message.",
INVALID_SIGNATURE_CHAIN_ID => "Contract wallet verification provider chain does not match message chain ID.",
INVALID_TIME_FORMAT => "Invalid time format.",
INVALID_MESSAGE_VERSION => "Invalid message version.",
UNABLE_TO_PARSE => "Unable to parse the message.",
MISSING_DOMAIN => "Domain is required for verification.",
MISSING_NONCE => "Nonce is required for verification.",
MISSING_URI => "URI is required in strict mode.",
MISSING_CHAIN_ID => "Chain ID is required in strict mode.",
MISSING_CONFIG => "No verification configuration found.",
MISSING_PROVIDER_LIBRARY => "Required provider library is not installed.",
NONCE_GENERATION_FAILED => "Nonce generation failed.",
INVALID_PARAMS => "Invalid parameters passed to verify.",
MALFORMED_MESSAGE => "Message could not be prepared for signing.",
RPC_ERROR => "RPC call failed."
}.freeze