/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ManagedBlockchainQuery { namespace Model { /** *

The container for the properties of a transaction event.

See * Also:

AWS * API Reference

*/ class TransactionEvent { public: AWS_MANAGEDBLOCKCHAINQUERY_API TransactionEvent(); AWS_MANAGEDBLOCKCHAINQUERY_API TransactionEvent(Aws::Utils::Json::JsonView jsonValue); AWS_MANAGEDBLOCKCHAINQUERY_API TransactionEvent& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MANAGEDBLOCKCHAINQUERY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The blockchain network where the transaction occurred.

*/ inline const QueryNetwork& GetNetwork() const{ return m_network; } /** *

The blockchain network where the transaction occurred.

*/ inline bool NetworkHasBeenSet() const { return m_networkHasBeenSet; } /** *

The blockchain network where the transaction occurred.

*/ inline void SetNetwork(const QueryNetwork& value) { m_networkHasBeenSet = true; m_network = value; } /** *

The blockchain network where the transaction occurred.

*/ inline void SetNetwork(QueryNetwork&& value) { m_networkHasBeenSet = true; m_network = std::move(value); } /** *

The blockchain network where the transaction occurred.

*/ inline TransactionEvent& WithNetwork(const QueryNetwork& value) { SetNetwork(value); return *this;} /** *

The blockchain network where the transaction occurred.

*/ inline TransactionEvent& WithNetwork(QueryNetwork&& value) { SetNetwork(std::move(value)); return *this;} /** *

The hash of the transaction. It is generated whenever a transaction is * verified and added to the blockchain.

*/ inline const Aws::String& GetTransactionHash() const{ return m_transactionHash; } /** *

The hash of the transaction. It is generated whenever a transaction is * verified and added to the blockchain.

*/ inline bool TransactionHashHasBeenSet() const { return m_transactionHashHasBeenSet; } /** *

The hash of the transaction. It is generated whenever a transaction is * verified and added to the blockchain.

*/ inline void SetTransactionHash(const Aws::String& value) { m_transactionHashHasBeenSet = true; m_transactionHash = value; } /** *

The hash of the transaction. It is generated whenever a transaction is * verified and added to the blockchain.

*/ inline void SetTransactionHash(Aws::String&& value) { m_transactionHashHasBeenSet = true; m_transactionHash = std::move(value); } /** *

The hash of the transaction. It is generated whenever a transaction is * verified and added to the blockchain.

*/ inline void SetTransactionHash(const char* value) { m_transactionHashHasBeenSet = true; m_transactionHash.assign(value); } /** *

The hash of the transaction. It is generated whenever a transaction is * verified and added to the blockchain.

*/ inline TransactionEvent& WithTransactionHash(const Aws::String& value) { SetTransactionHash(value); return *this;} /** *

The hash of the transaction. It is generated whenever a transaction is * verified and added to the blockchain.

*/ inline TransactionEvent& WithTransactionHash(Aws::String&& value) { SetTransactionHash(std::move(value)); return *this;} /** *

The hash of the transaction. It is generated whenever a transaction is * verified and added to the blockchain.

*/ inline TransactionEvent& WithTransactionHash(const char* value) { SetTransactionHash(value); return *this;} /** *

The type of transaction event.

*/ inline const QueryTransactionEventType& GetEventType() const{ return m_eventType; } /** *

The type of transaction event.

*/ inline bool EventTypeHasBeenSet() const { return m_eventTypeHasBeenSet; } /** *

The type of transaction event.

*/ inline void SetEventType(const QueryTransactionEventType& value) { m_eventTypeHasBeenSet = true; m_eventType = value; } /** *

The type of transaction event.

*/ inline void SetEventType(QueryTransactionEventType&& value) { m_eventTypeHasBeenSet = true; m_eventType = std::move(value); } /** *

The type of transaction event.

*/ inline TransactionEvent& WithEventType(const QueryTransactionEventType& value) { SetEventType(value); return *this;} /** *

The type of transaction event.

*/ inline TransactionEvent& WithEventType(QueryTransactionEventType&& value) { SetEventType(std::move(value)); return *this;} /** *

The wallet address initiating the transaction. It can either be a public key * or a contract.

*/ inline const Aws::String& GetFrom() const{ return m_from; } /** *

The wallet address initiating the transaction. It can either be a public key * or a contract.

*/ inline bool FromHasBeenSet() const { return m_fromHasBeenSet; } /** *

The wallet address initiating the transaction. It can either be a public key * or a contract.

*/ inline void SetFrom(const Aws::String& value) { m_fromHasBeenSet = true; m_from = value; } /** *

The wallet address initiating the transaction. It can either be a public key * or a contract.

*/ inline void SetFrom(Aws::String&& value) { m_fromHasBeenSet = true; m_from = std::move(value); } /** *

The wallet address initiating the transaction. It can either be a public key * or a contract.

*/ inline void SetFrom(const char* value) { m_fromHasBeenSet = true; m_from.assign(value); } /** *

The wallet address initiating the transaction. It can either be a public key * or a contract.

*/ inline TransactionEvent& WithFrom(const Aws::String& value) { SetFrom(value); return *this;} /** *

The wallet address initiating the transaction. It can either be a public key * or a contract.

*/ inline TransactionEvent& WithFrom(Aws::String&& value) { SetFrom(std::move(value)); return *this;} /** *

The wallet address initiating the transaction. It can either be a public key * or a contract.

*/ inline TransactionEvent& WithFrom(const char* value) { SetFrom(value); return *this;} /** *

The wallet address receiving the transaction. It can either be a public key * or a contract.

*/ inline const Aws::String& GetTo() const{ return m_to; } /** *

The wallet address receiving the transaction. It can either be a public key * or a contract.

*/ inline bool ToHasBeenSet() const { return m_toHasBeenSet; } /** *

The wallet address receiving the transaction. It can either be a public key * or a contract.

*/ inline void SetTo(const Aws::String& value) { m_toHasBeenSet = true; m_to = value; } /** *

The wallet address receiving the transaction. It can either be a public key * or a contract.

*/ inline void SetTo(Aws::String&& value) { m_toHasBeenSet = true; m_to = std::move(value); } /** *

The wallet address receiving the transaction. It can either be a public key * or a contract.

*/ inline void SetTo(const char* value) { m_toHasBeenSet = true; m_to.assign(value); } /** *

The wallet address receiving the transaction. It can either be a public key * or a contract.

*/ inline TransactionEvent& WithTo(const Aws::String& value) { SetTo(value); return *this;} /** *

The wallet address receiving the transaction. It can either be a public key * or a contract.

*/ inline TransactionEvent& WithTo(Aws::String&& value) { SetTo(std::move(value)); return *this;} /** *

The wallet address receiving the transaction. It can either be a public key * or a contract.

*/ inline TransactionEvent& WithTo(const char* value) { SetTo(value); return *this;} /** *

The value that was transacted.

*/ inline const Aws::String& GetValue() const{ return m_value; } /** *

The value that was transacted.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The value that was transacted.

*/ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** *

The value that was transacted.

*/ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

The value that was transacted.

*/ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** *

The value that was transacted.

*/ inline TransactionEvent& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** *

The value that was transacted.

*/ inline TransactionEvent& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** *

The value that was transacted.

*/ inline TransactionEvent& WithValue(const char* value) { SetValue(value); return *this;} /** *

The blockchain address. for the contract

*/ inline const Aws::String& GetContractAddress() const{ return m_contractAddress; } /** *

The blockchain address. for the contract

*/ inline bool ContractAddressHasBeenSet() const { return m_contractAddressHasBeenSet; } /** *

The blockchain address. for the contract

*/ inline void SetContractAddress(const Aws::String& value) { m_contractAddressHasBeenSet = true; m_contractAddress = value; } /** *

The blockchain address. for the contract

*/ inline void SetContractAddress(Aws::String&& value) { m_contractAddressHasBeenSet = true; m_contractAddress = std::move(value); } /** *

The blockchain address. for the contract

*/ inline void SetContractAddress(const char* value) { m_contractAddressHasBeenSet = true; m_contractAddress.assign(value); } /** *

The blockchain address. for the contract

*/ inline TransactionEvent& WithContractAddress(const Aws::String& value) { SetContractAddress(value); return *this;} /** *

The blockchain address. for the contract

*/ inline TransactionEvent& WithContractAddress(Aws::String&& value) { SetContractAddress(std::move(value)); return *this;} /** *

The blockchain address. for the contract

*/ inline TransactionEvent& WithContractAddress(const char* value) { SetContractAddress(value); return *this;} /** *

The unique identifier for the token involved in the transaction.

*/ inline const Aws::String& GetTokenId() const{ return m_tokenId; } /** *

The unique identifier for the token involved in the transaction.

*/ inline bool TokenIdHasBeenSet() const { return m_tokenIdHasBeenSet; } /** *

The unique identifier for the token involved in the transaction.

*/ inline void SetTokenId(const Aws::String& value) { m_tokenIdHasBeenSet = true; m_tokenId = value; } /** *

The unique identifier for the token involved in the transaction.

*/ inline void SetTokenId(Aws::String&& value) { m_tokenIdHasBeenSet = true; m_tokenId = std::move(value); } /** *

The unique identifier for the token involved in the transaction.

*/ inline void SetTokenId(const char* value) { m_tokenIdHasBeenSet = true; m_tokenId.assign(value); } /** *

The unique identifier for the token involved in the transaction.

*/ inline TransactionEvent& WithTokenId(const Aws::String& value) { SetTokenId(value); return *this;} /** *

The unique identifier for the token involved in the transaction.

*/ inline TransactionEvent& WithTokenId(Aws::String&& value) { SetTokenId(std::move(value)); return *this;} /** *

The unique identifier for the token involved in the transaction.

*/ inline TransactionEvent& WithTokenId(const char* value) { SetTokenId(value); return *this;} /** *

The unique identifier of the transaction. It is generated whenever a * transaction is verified and added to the blockchain.

*/ inline const Aws::String& GetTransactionId() const{ return m_transactionId; } /** *

The unique identifier of the transaction. It is generated whenever a * transaction is verified and added to the blockchain.

*/ inline bool TransactionIdHasBeenSet() const { return m_transactionIdHasBeenSet; } /** *

The unique identifier of the transaction. It is generated whenever a * transaction is verified and added to the blockchain.

*/ inline void SetTransactionId(const Aws::String& value) { m_transactionIdHasBeenSet = true; m_transactionId = value; } /** *

The unique identifier of the transaction. It is generated whenever a * transaction is verified and added to the blockchain.

*/ inline void SetTransactionId(Aws::String&& value) { m_transactionIdHasBeenSet = true; m_transactionId = std::move(value); } /** *

The unique identifier of the transaction. It is generated whenever a * transaction is verified and added to the blockchain.

*/ inline void SetTransactionId(const char* value) { m_transactionIdHasBeenSet = true; m_transactionId.assign(value); } /** *

The unique identifier of the transaction. It is generated whenever a * transaction is verified and added to the blockchain.

*/ inline TransactionEvent& WithTransactionId(const Aws::String& value) { SetTransactionId(value); return *this;} /** *

The unique identifier of the transaction. It is generated whenever a * transaction is verified and added to the blockchain.

*/ inline TransactionEvent& WithTransactionId(Aws::String&& value) { SetTransactionId(std::move(value)); return *this;} /** *

The unique identifier of the transaction. It is generated whenever a * transaction is verified and added to the blockchain.

*/ inline TransactionEvent& WithTransactionId(const char* value) { SetTransactionId(value); return *this;} /** *

The position of the vout in the transaction output list.

*/ inline int GetVoutIndex() const{ return m_voutIndex; } /** *

The position of the vout in the transaction output list.

*/ inline bool VoutIndexHasBeenSet() const { return m_voutIndexHasBeenSet; } /** *

The position of the vout in the transaction output list.

*/ inline void SetVoutIndex(int value) { m_voutIndexHasBeenSet = true; m_voutIndex = value; } /** *

The position of the vout in the transaction output list.

*/ inline TransactionEvent& WithVoutIndex(int value) { SetVoutIndex(value); return *this;} private: QueryNetwork m_network; bool m_networkHasBeenSet = false; Aws::String m_transactionHash; bool m_transactionHashHasBeenSet = false; QueryTransactionEventType m_eventType; bool m_eventTypeHasBeenSet = false; Aws::String m_from; bool m_fromHasBeenSet = false; Aws::String m_to; bool m_toHasBeenSet = false; Aws::String m_value; bool m_valueHasBeenSet = false; Aws::String m_contractAddress; bool m_contractAddressHasBeenSet = false; Aws::String m_tokenId; bool m_tokenIdHasBeenSet = false; Aws::String m_transactionId; bool m_transactionIdHasBeenSet = false; int m_voutIndex; bool m_voutIndexHasBeenSet = false; }; } // namespace Model } // namespace ManagedBlockchainQuery } // namespace Aws