#include "field_validator.hpp"

Static Public Attributes | |
| static constexpr auto | kMaxDelay |
| static constexpr auto | kDefaultFutureGap |
| static constexpr size_t | hash_size |
| static constexpr size_t | value_size = 4 * 1024 * 1024 |
| limit for the set account detail size in bytes More... | |
| static constexpr size_t | kMaxDescriptionSize = 100 * 1024 |
Class that validates fields of commands, concrete queries, transaction, and query
| shared_model::validation::FieldValidator::FieldValidator | ( | std::shared_ptr< ValidatorsConfig > | config, |
| time_t | future_gap = kDefaultFutureGap, |
||
| TimeFunction | time_provider = [] { return iroha::time::now(); } |
||
| ) |
| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAccount | ( | const interface::Account & | account | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAccountAsset | ( | const interface::AccountAsset & | account_asset | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAccountDetailKey | ( | const interface::types::AccountDetailKeyType & | key | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAccountDetailPaginationMeta | ( | const interface::AccountDetailPaginationMeta & | pagination_meta | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAccountDetailRecordId | ( | const interface::AccountDetailRecordId & | record_id | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAccountDetailValue | ( | const interface::types::AccountDetailValueType & | value | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAccountId | ( | const interface::types::AccountIdType & | account_id | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAccountName | ( | const interface::types::AccountNameType & | account_name | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAmount | ( | const interface::Amount & | amount | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAsset | ( | const interface::Asset & | asset | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAssetId | ( | const interface::types::AssetIdType & | asset_id | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAssetName | ( | const interface::types::AssetNameType & | asset_name | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateAssetPaginationMeta | ( | const interface::AssetPaginationMeta & | asset_pagination_meta | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validateBatchMeta | ( | const interface::BatchMeta & | description | ) | const |
| std::optional< ValidationError > shared_model::validation::FieldValidator::validateBytecode | ( | interface::types::EvmCodeHexStringView | input | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateCounter | ( | const interface::types::CounterType & | counter | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateCreatedTime | ( | interface::types::TimestampType | timestamp, |
| interface::types::TimestampType | now | ||
| ) | const |
Validate timestamp against now

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateCreatedTime | ( | interface::types::TimestampType | timestamp | ) | const |
Validate timestamp against time_provider_

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateCreatorAccountId | ( | const interface::types::AccountIdType & | account_id | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateDescription | ( | const interface::types::DescriptionType & | description | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateDomain | ( | const interface::Domain & | domain | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateDomainId | ( | const interface::types::DomainIdType & | domain_id | ) | const |
Check if the given string domain_id is in valid domain syntax defined in the RFC 1035 and 1123. Return the result of the validation.
The domain syntax in RFC 1035 is given below:
<domain> ::= <subdomain> | ” ” <subdomain> ::= <label> | <subdomain> “.” <label> <label> ::= <letter> [ [ <ldh-str> ] <let-dig> ] <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str> <let-dig-hyp> ::= <let-dig> | “-” <let-dig> ::= <letter> | <digit> <letter> ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case <digit> ::= any one of the ten digits 0 through 9
And the subsequent RFC 1123 disallows the root white space.
If the validation is not successful reason is updated with corresponding message

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateEvmHexAddress | ( | std::string_view | address | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateGrantablePermission | ( | const interface::permissions::Grantable & | permission | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validateHash | ( | const crypto::Hash & | hash | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validateHeight | ( | const interface::types::HeightType & | height | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateOldAccountDetailValue | ( | const std::optional< interface::types::AccountDetailValueType > & | old_value | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validatePeer | ( | const interface::Peer & | peer | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validatePeerAddress | ( | const interface::types::AddressType & | address | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validatePrecision | ( | const interface::types::PrecisionType & | precision | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validatePubkey | ( | std::string_view | pubkey | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validateQueryPayloadMeta | ( | const interface::QueryPayloadMeta & | meta | ) | const |
| std::optional< ValidationError > shared_model::validation::FieldValidator::validateQuorum | ( | const interface::types::QuorumType & | quorum | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateRoleId | ( | const interface::types::RoleIdType & | role_id | ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateRolePermission | ( | const interface::permissions::Role & | permission | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validateSignatureForm | ( | const interface::Signature & | signature | ) | const |


| std::optional< ValidationError > shared_model::validation::FieldValidator::validateSignatures | ( | const interface::types::SignatureRangeType & | signatures, |
| const crypto::Blob & | source | ||
| ) | const |

| std::optional< ValidationError > shared_model::validation::FieldValidator::validateTxPaginationMeta | ( | const interface::TxPaginationMeta & | tx_pagination_meta | ) | const |


|
static |
|
static |
|
static |
|
static |
|
static |
limit for the set account detail size in bytes