Line data Source code
1 : /**
2 : * Copyright Soramitsu Co., Ltd. All Rights Reserved.
3 : * SPDX-License-Identifier: Apache-2.0
4 : */
5 :
6 : #include "backend/protobuf/commands/proto_create_account.hpp"
7 :
8 : namespace shared_model {
9 : namespace proto {
10 :
11 : template <typename CommandType>
12 : CreateAccount::CreateAccount(CommandType &&command)
13 7639 : : CopyableProto(std::forward<CommandType>(command)),
14 7639 : create_account_{proto_->create_account()},
15 : pubkey_{[this] {
16 3006 : return interface::types::PubkeyType(create_account_.public_key());
17 7639 : }} {}
18 :
19 : template CreateAccount::CreateAccount(CreateAccount::TransportType &);
20 : template CreateAccount::CreateAccount(const CreateAccount::TransportType &);
21 : template CreateAccount::CreateAccount(CreateAccount::TransportType &&);
22 :
23 : CreateAccount::CreateAccount(const CreateAccount &o)
24 0 : : CreateAccount(o.proto_) {}
25 :
26 : CreateAccount::CreateAccount(CreateAccount &&o) noexcept
27 7639 : : CreateAccount(std::move(o.proto_)) {}
28 :
29 : const interface::types::PubkeyType &CreateAccount::pubkey() const {
30 3659 : return *pubkey_;
31 : }
32 :
33 : const interface::types::AccountNameType &CreateAccount::accountName()
34 : const {
35 3659 : return create_account_.account_name();
36 : }
37 :
38 : const interface::types::DomainIdType &CreateAccount::domainId() const {
39 3659 : return create_account_.domain_id();
40 : }
41 :
42 : } // namespace proto
43 : } // namespace shared_model
|