Plumb transaction-level rewards (aka "rent debits") into the getTransaction
RPC method
This commit is contained in:
committed by
mergify[bot]
parent
7dfc1d9790
commit
9541411c15
@@ -65,6 +65,8 @@ pub struct TransactionStatusMeta {
|
||||
pub pre_token_balances: ::prost::alloc::vec::Vec<TokenBalance>,
|
||||
#[prost(message, repeated, tag = "8")]
|
||||
pub post_token_balances: ::prost::alloc::vec::Vec<TokenBalance>,
|
||||
#[prost(message, repeated, tag = "9")]
|
||||
pub rewards: ::prost::alloc::vec::Vec<Reward>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct TransactionError {
|
||||
|
@@ -43,6 +43,7 @@ message TransactionStatusMeta {
|
||||
repeated string log_messages = 6;
|
||||
repeated TokenBalance pre_token_balances = 7;
|
||||
repeated TokenBalance post_token_balances = 8;
|
||||
repeated Reward rewards = 9;
|
||||
}
|
||||
|
||||
message TransactionError {
|
||||
|
@@ -267,6 +267,7 @@ impl From<TransactionStatusMeta> for generated::TransactionStatusMeta {
|
||||
log_messages,
|
||||
pre_token_balances,
|
||||
post_token_balances,
|
||||
rewards,
|
||||
} = value;
|
||||
let err = match status {
|
||||
Ok(()) => None,
|
||||
@@ -290,6 +291,11 @@ impl From<TransactionStatusMeta> for generated::TransactionStatusMeta {
|
||||
.into_iter()
|
||||
.map(|balance| balance.into())
|
||||
.collect();
|
||||
let rewards = rewards
|
||||
.unwrap_or_default()
|
||||
.into_iter()
|
||||
.map(|reward| reward.into())
|
||||
.collect();
|
||||
|
||||
Self {
|
||||
err,
|
||||
@@ -300,6 +306,7 @@ impl From<TransactionStatusMeta> for generated::TransactionStatusMeta {
|
||||
log_messages,
|
||||
pre_token_balances,
|
||||
post_token_balances,
|
||||
rewards,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -324,6 +331,7 @@ impl TryFrom<generated::TransactionStatusMeta> for TransactionStatusMeta {
|
||||
log_messages,
|
||||
pre_token_balances,
|
||||
post_token_balances,
|
||||
rewards,
|
||||
} = value;
|
||||
let status = match &err {
|
||||
None => Ok(()),
|
||||
@@ -348,6 +356,7 @@ impl TryFrom<generated::TransactionStatusMeta> for TransactionStatusMeta {
|
||||
.map(|balance| balance.into())
|
||||
.collect(),
|
||||
);
|
||||
let rewards = Some(rewards.into_iter().map(|reward| reward.into()).collect());
|
||||
Ok(Self {
|
||||
status,
|
||||
fee,
|
||||
@@ -357,6 +366,7 @@ impl TryFrom<generated::TransactionStatusMeta> for TransactionStatusMeta {
|
||||
log_messages,
|
||||
pre_token_balances,
|
||||
post_token_balances,
|
||||
rewards,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@@ -150,6 +150,8 @@ pub struct StoredTransactionStatusMeta {
|
||||
pub pre_token_balances: Option<Vec<StoredTransactionTokenBalance>>,
|
||||
#[serde(deserialize_with = "default_on_eof")]
|
||||
pub post_token_balances: Option<Vec<StoredTransactionTokenBalance>>,
|
||||
#[serde(deserialize_with = "default_on_eof")]
|
||||
pub rewards: Option<Vec<StoredExtendedReward>>,
|
||||
}
|
||||
|
||||
impl From<StoredTransactionStatusMeta> for TransactionStatusMeta {
|
||||
@@ -163,6 +165,7 @@ impl From<StoredTransactionStatusMeta> for TransactionStatusMeta {
|
||||
log_messages,
|
||||
pre_token_balances,
|
||||
post_token_balances,
|
||||
rewards,
|
||||
} = value;
|
||||
Self {
|
||||
status,
|
||||
@@ -175,6 +178,8 @@ impl From<StoredTransactionStatusMeta> for TransactionStatusMeta {
|
||||
.map(|balances| balances.into_iter().map(|balance| balance.into()).collect()),
|
||||
post_token_balances: post_token_balances
|
||||
.map(|balances| balances.into_iter().map(|balance| balance.into()).collect()),
|
||||
rewards: rewards
|
||||
.map(|rewards| rewards.into_iter().map(|reward| reward.into()).collect()),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -190,6 +195,7 @@ impl From<TransactionStatusMeta> for StoredTransactionStatusMeta {
|
||||
log_messages,
|
||||
pre_token_balances,
|
||||
post_token_balances,
|
||||
rewards,
|
||||
} = value;
|
||||
Self {
|
||||
status,
|
||||
@@ -202,6 +208,8 @@ impl From<TransactionStatusMeta> for StoredTransactionStatusMeta {
|
||||
.map(|balances| balances.into_iter().map(|balance| balance.into()).collect()),
|
||||
post_token_balances: post_token_balances
|
||||
.map(|balances| balances.into_iter().map(|balance| balance.into()).collect()),
|
||||
rewards: rewards
|
||||
.map(|rewards| rewards.into_iter().map(|reward| reward.into()).collect()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user