CatapultServer
v0.5.0.1 (Elephant)
|
Go to the documentation of this file.
25 namespace catapult {
namespace builders {
51 std::unique_ptr<Transaction>
build()
const;
57 template<
typename TTransaction>
60 template<
typename TTransaction>
61 std::unique_ptr<TTransaction>
buildImpl()
const;
DEFINE_STATEFUL_VALIDATOR(EligibleHarvester, [](const auto ¬ification, const auto &context) { cache::ImportanceView view(context.Cache.template sub< cache::AccountStateCache >());return view.canHarvest(notification.Signer, context.Height) ? ValidationResult::Success :Failure_Core_Block_Harvester_Ineligible;})
const Key & signer() const
Returns signer.
Definition: TransactionBuilder.h:41
model::EmbeddedAccountLinkTransaction EmbeddedTransaction
Definition: AccountLinkBuilder.h:31
model::AccountAddressNotification Notification
Definition: AddressValidator.cpp:27
size_t size() const
Definition: AccountLinkBuilder.cpp:39
Account is not linked to another account.
constexpr ValidationResult ValidateLessThanOrEqual(TValue value, TValue maxValue, ValidationResult failureResult)
Validates that value is less than or equal to maxValue and returns failureResult on failure.
Definition: ValidatorUtils.h:28
std::unique_ptr< TTransaction > buildImpl() const
Builder for an account link transaction.
Definition: AccountLinkBuilder.h:28
std::unique_ptr< Transaction > build() const
Builds a new account link transaction.
Definition: AccountLinkBuilder.cpp:43
Key m_remoteAccountKey
Definition: AccountLinkBuilder.h:64
void setRemoteAccountKey(const Key &remoteAccountKey)
Sets the remote account key to remoteAccountKey.
Definition: AccountLinkBuilder.cpp:31
model::AccountLinkTransaction Transaction
Definition: AccountLinkBuilder.h:30
AccountLinkBuilder(model::NetworkIdentifier networkIdentifier, const Key &signer)
Definition: AccountLinkBuilder.cpp:25
NetworkIdentifier
Possible network identifiers.
Definition: NetworkInfo.h:45
Base transaction builder.
Definition: TransactionBuilder.h:31
model::AccountLinkAction m_linkAction
Definition: AccountLinkBuilder.h:65
std::unique_ptr< EmbeddedTransaction > buildEmbedded() const
Builds a new embedded account link transaction.
Definition: AccountLinkBuilder.cpp:47
size_t sizeImpl() const
Definition: AccountLinkBuilder.cpp:52
Definition: AddressExtractionExtension.cpp:28
Account is a balance-holding account that is linked to a remote harvester account.
AccountLinkAction
Account link transaction action.
Definition: AccountLinkAction.h:27
DEFINE_STATELESS_VALIDATOR(TransactionFee, [](const auto ¬ification) { if(notification.Fee > notification.MaxFee) return Failure_Core_Invalid_Transaction_Fee;constexpr auto Max_Raw_Block_Fee_Multiplier=static_cast< uint64_t >(std::numeric_limits< BlockFeeMultiplier::ValueType >::max());return notification.MaxFee.unwrap() > Max_Raw_Block_Fee_Multiplier *notification.TransactionSize ? Failure_Core_Invalid_Transaction_Fee :ValidationResult::Success;})
void setLinkAction(model::AccountLinkAction linkAction)
Sets the account link action to linkAction.
Definition: AccountLinkBuilder.cpp:35
model::AggregateTransaction TransactionType
Definition: AggregateTransactionBuilder.cpp:28