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_add_signatory.hpp"
7 : #include "cryptography/hash.hpp"
8 :
9 : namespace shared_model {
10 : namespace proto {
11 :
12 : template <typename CommandType>
13 : AddSignatory::AddSignatory(CommandType &&command)
14 2253 : : CopyableProto(std::forward<CommandType>(command)),
15 2260 : add_signatory_{proto_->add_signatory()},
16 2280 : pubkey_{crypto::Hash::fromHexString(add_signatory_.public_key())} {}
17 :
18 : template AddSignatory::AddSignatory(AddSignatory::TransportType &);
19 : template AddSignatory::AddSignatory(const AddSignatory::TransportType &);
20 : template AddSignatory::AddSignatory(AddSignatory::TransportType &&);
21 :
22 : AddSignatory::AddSignatory(const AddSignatory &o)
23 0 : : AddSignatory(o.proto_) {}
24 :
25 : AddSignatory::AddSignatory(AddSignatory &&o) noexcept
26 2284 : : AddSignatory(std::move(o.proto_)) {}
27 :
28 : const interface::types::AccountIdType &AddSignatory::accountId() const {
29 1351 : return add_signatory_.account_id();
30 : }
31 :
32 : const interface::types::PubkeyType &AddSignatory::pubkey() const {
33 1358 : return pubkey_;
34 : }
35 :
36 : } // namespace proto
37 : } // namespace shared_model
|