#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Transaction {
pub network: crate::types::QueryNetwork,
pub block_hash: ::std::option::Option<::std::string::String>,
pub transaction_hash: ::std::string::String,
pub block_number: ::std::option::Option<::std::string::String>,
pub transaction_timestamp: ::aws_smithy_types::DateTime,
pub transaction_index: i64,
pub number_of_transactions: i64,
pub to: ::std::string::String,
pub from: ::std::option::Option<::std::string::String>,
pub contract_address: ::std::option::Option<::std::string::String>,
pub gas_used: ::std::option::Option<::std::string::String>,
pub cumulative_gas_used: ::std::option::Option<::std::string::String>,
pub effective_gas_price: ::std::option::Option<::std::string::String>,
pub signature_v: ::std::option::Option<i32>,
pub signature_r: ::std::option::Option<::std::string::String>,
pub signature_s: ::std::option::Option<::std::string::String>,
pub transaction_fee: ::std::option::Option<::std::string::String>,
pub transaction_id: ::std::option::Option<::std::string::String>,
pub confirmation_status: ::std::option::Option<crate::types::ConfirmationStatus>,
pub execution_status: ::std::option::Option<crate::types::ExecutionStatus>,
}
impl Transaction {
pub fn network(&self) -> &crate::types::QueryNetwork {
&self.network
}
pub fn block_hash(&self) -> ::std::option::Option<&str> {
self.block_hash.as_deref()
}
pub fn transaction_hash(&self) -> &str {
use std::ops::Deref;
self.transaction_hash.deref()
}
pub fn block_number(&self) -> ::std::option::Option<&str> {
self.block_number.as_deref()
}
pub fn transaction_timestamp(&self) -> &::aws_smithy_types::DateTime {
&self.transaction_timestamp
}
pub fn transaction_index(&self) -> i64 {
self.transaction_index
}
pub fn number_of_transactions(&self) -> i64 {
self.number_of_transactions
}
pub fn to(&self) -> &str {
use std::ops::Deref;
self.to.deref()
}
pub fn from(&self) -> ::std::option::Option<&str> {
self.from.as_deref()
}
pub fn contract_address(&self) -> ::std::option::Option<&str> {
self.contract_address.as_deref()
}
pub fn gas_used(&self) -> ::std::option::Option<&str> {
self.gas_used.as_deref()
}
pub fn cumulative_gas_used(&self) -> ::std::option::Option<&str> {
self.cumulative_gas_used.as_deref()
}
pub fn effective_gas_price(&self) -> ::std::option::Option<&str> {
self.effective_gas_price.as_deref()
}
pub fn signature_v(&self) -> ::std::option::Option<i32> {
self.signature_v
}
pub fn signature_r(&self) -> ::std::option::Option<&str> {
self.signature_r.as_deref()
}
pub fn signature_s(&self) -> ::std::option::Option<&str> {
self.signature_s.as_deref()
}
pub fn transaction_fee(&self) -> ::std::option::Option<&str> {
self.transaction_fee.as_deref()
}
pub fn transaction_id(&self) -> ::std::option::Option<&str> {
self.transaction_id.as_deref()
}
pub fn confirmation_status(&self) -> ::std::option::Option<&crate::types::ConfirmationStatus> {
self.confirmation_status.as_ref()
}
pub fn execution_status(&self) -> ::std::option::Option<&crate::types::ExecutionStatus> {
self.execution_status.as_ref()
}
}
impl Transaction {
pub fn builder() -> crate::types::builders::TransactionBuilder {
crate::types::builders::TransactionBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct TransactionBuilder {
pub(crate) network: ::std::option::Option<crate::types::QueryNetwork>,
pub(crate) block_hash: ::std::option::Option<::std::string::String>,
pub(crate) transaction_hash: ::std::option::Option<::std::string::String>,
pub(crate) block_number: ::std::option::Option<::std::string::String>,
pub(crate) transaction_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) transaction_index: ::std::option::Option<i64>,
pub(crate) number_of_transactions: ::std::option::Option<i64>,
pub(crate) to: ::std::option::Option<::std::string::String>,
pub(crate) from: ::std::option::Option<::std::string::String>,
pub(crate) contract_address: ::std::option::Option<::std::string::String>,
pub(crate) gas_used: ::std::option::Option<::std::string::String>,
pub(crate) cumulative_gas_used: ::std::option::Option<::std::string::String>,
pub(crate) effective_gas_price: ::std::option::Option<::std::string::String>,
pub(crate) signature_v: ::std::option::Option<i32>,
pub(crate) signature_r: ::std::option::Option<::std::string::String>,
pub(crate) signature_s: ::std::option::Option<::std::string::String>,
pub(crate) transaction_fee: ::std::option::Option<::std::string::String>,
pub(crate) transaction_id: ::std::option::Option<::std::string::String>,
pub(crate) confirmation_status: ::std::option::Option<crate::types::ConfirmationStatus>,
pub(crate) execution_status: ::std::option::Option<crate::types::ExecutionStatus>,
}
impl TransactionBuilder {
pub fn network(mut self, input: crate::types::QueryNetwork) -> Self {
self.network = ::std::option::Option::Some(input);
self
}
pub fn set_network(mut self, input: ::std::option::Option<crate::types::QueryNetwork>) -> Self {
self.network = input;
self
}
pub fn get_network(&self) -> &::std::option::Option<crate::types::QueryNetwork> {
&self.network
}
pub fn block_hash(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.block_hash = ::std::option::Option::Some(input.into());
self
}
pub fn set_block_hash(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.block_hash = input;
self
}
pub fn get_block_hash(&self) -> &::std::option::Option<::std::string::String> {
&self.block_hash
}
pub fn transaction_hash(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.transaction_hash = ::std::option::Option::Some(input.into());
self
}
pub fn set_transaction_hash(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.transaction_hash = input;
self
}
pub fn get_transaction_hash(&self) -> &::std::option::Option<::std::string::String> {
&self.transaction_hash
}
pub fn block_number(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.block_number = ::std::option::Option::Some(input.into());
self
}
pub fn set_block_number(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.block_number = input;
self
}
pub fn get_block_number(&self) -> &::std::option::Option<::std::string::String> {
&self.block_number
}
pub fn transaction_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.transaction_timestamp = ::std::option::Option::Some(input);
self
}
pub fn set_transaction_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.transaction_timestamp = input;
self
}
pub fn get_transaction_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.transaction_timestamp
}
pub fn transaction_index(mut self, input: i64) -> Self {
self.transaction_index = ::std::option::Option::Some(input);
self
}
pub fn set_transaction_index(mut self, input: ::std::option::Option<i64>) -> Self {
self.transaction_index = input;
self
}
pub fn get_transaction_index(&self) -> &::std::option::Option<i64> {
&self.transaction_index
}
pub fn number_of_transactions(mut self, input: i64) -> Self {
self.number_of_transactions = ::std::option::Option::Some(input);
self
}
pub fn set_number_of_transactions(mut self, input: ::std::option::Option<i64>) -> Self {
self.number_of_transactions = input;
self
}
pub fn get_number_of_transactions(&self) -> &::std::option::Option<i64> {
&self.number_of_transactions
}
pub fn to(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.to = ::std::option::Option::Some(input.into());
self
}
pub fn set_to(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.to = input;
self
}
pub fn get_to(&self) -> &::std::option::Option<::std::string::String> {
&self.to
}
pub fn from(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.from = ::std::option::Option::Some(input.into());
self
}
pub fn set_from(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.from = input;
self
}
pub fn get_from(&self) -> &::std::option::Option<::std::string::String> {
&self.from
}
pub fn contract_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.contract_address = ::std::option::Option::Some(input.into());
self
}
pub fn set_contract_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.contract_address = input;
self
}
pub fn get_contract_address(&self) -> &::std::option::Option<::std::string::String> {
&self.contract_address
}
pub fn gas_used(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.gas_used = ::std::option::Option::Some(input.into());
self
}
pub fn set_gas_used(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.gas_used = input;
self
}
pub fn get_gas_used(&self) -> &::std::option::Option<::std::string::String> {
&self.gas_used
}
pub fn cumulative_gas_used(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.cumulative_gas_used = ::std::option::Option::Some(input.into());
self
}
pub fn set_cumulative_gas_used(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.cumulative_gas_used = input;
self
}
pub fn get_cumulative_gas_used(&self) -> &::std::option::Option<::std::string::String> {
&self.cumulative_gas_used
}
pub fn effective_gas_price(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.effective_gas_price = ::std::option::Option::Some(input.into());
self
}
pub fn set_effective_gas_price(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.effective_gas_price = input;
self
}
pub fn get_effective_gas_price(&self) -> &::std::option::Option<::std::string::String> {
&self.effective_gas_price
}
pub fn signature_v(mut self, input: i32) -> Self {
self.signature_v = ::std::option::Option::Some(input);
self
}
pub fn set_signature_v(mut self, input: ::std::option::Option<i32>) -> Self {
self.signature_v = input;
self
}
pub fn get_signature_v(&self) -> &::std::option::Option<i32> {
&self.signature_v
}
pub fn signature_r(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.signature_r = ::std::option::Option::Some(input.into());
self
}
pub fn set_signature_r(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.signature_r = input;
self
}
pub fn get_signature_r(&self) -> &::std::option::Option<::std::string::String> {
&self.signature_r
}
pub fn signature_s(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.signature_s = ::std::option::Option::Some(input.into());
self
}
pub fn set_signature_s(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.signature_s = input;
self
}
pub fn get_signature_s(&self) -> &::std::option::Option<::std::string::String> {
&self.signature_s
}
pub fn transaction_fee(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.transaction_fee = ::std::option::Option::Some(input.into());
self
}
pub fn set_transaction_fee(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.transaction_fee = input;
self
}
pub fn get_transaction_fee(&self) -> &::std::option::Option<::std::string::String> {
&self.transaction_fee
}
pub fn transaction_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.transaction_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_transaction_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.transaction_id = input;
self
}
pub fn get_transaction_id(&self) -> &::std::option::Option<::std::string::String> {
&self.transaction_id
}
pub fn confirmation_status(mut self, input: crate::types::ConfirmationStatus) -> Self {
self.confirmation_status = ::std::option::Option::Some(input);
self
}
pub fn set_confirmation_status(mut self, input: ::std::option::Option<crate::types::ConfirmationStatus>) -> Self {
self.confirmation_status = input;
self
}
pub fn get_confirmation_status(&self) -> &::std::option::Option<crate::types::ConfirmationStatus> {
&self.confirmation_status
}
pub fn execution_status(mut self, input: crate::types::ExecutionStatus) -> Self {
self.execution_status = ::std::option::Option::Some(input);
self
}
pub fn set_execution_status(mut self, input: ::std::option::Option<crate::types::ExecutionStatus>) -> Self {
self.execution_status = input;
self
}
pub fn get_execution_status(&self) -> &::std::option::Option<crate::types::ExecutionStatus> {
&self.execution_status
}
pub fn build(self) -> ::std::result::Result<crate::types::Transaction, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::types::Transaction {
network: self.network.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"network",
"network was not specified but it is required when building Transaction",
)
})?,
block_hash: self.block_hash,
transaction_hash: self.transaction_hash.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"transaction_hash",
"transaction_hash was not specified but it is required when building Transaction",
)
})?,
block_number: self.block_number,
transaction_timestamp: self.transaction_timestamp.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"transaction_timestamp",
"transaction_timestamp was not specified but it is required when building Transaction",
)
})?,
transaction_index: self.transaction_index.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"transaction_index",
"transaction_index was not specified but it is required when building Transaction",
)
})?,
number_of_transactions: self.number_of_transactions.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"number_of_transactions",
"number_of_transactions was not specified but it is required when building Transaction",
)
})?,
to: self.to.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"to",
"to was not specified but it is required when building Transaction",
)
})?,
from: self.from,
contract_address: self.contract_address,
gas_used: self.gas_used,
cumulative_gas_used: self.cumulative_gas_used,
effective_gas_price: self.effective_gas_price,
signature_v: self.signature_v,
signature_r: self.signature_r,
signature_s: self.signature_s,
transaction_fee: self.transaction_fee,
transaction_id: self.transaction_id,
confirmation_status: self.confirmation_status,
execution_status: self.execution_status,
})
}
}