Populate memo in blockstore signatures-for-address (#19515)

* Add TransactionMemos column family

* Traitify extract_memos

* Write TransactionMemos in TransactionStatusService

* Populate memos from column

* Dedupe and add unit test
This commit is contained in:
Tyera Eulberg
2021-09-03 00:28:52 -06:00
committed by GitHub
parent 170927b7c4
commit 5fa3e5744c
4 changed files with 192 additions and 19 deletions

View File

@ -8,7 +8,9 @@ use {
solana_runtime::bank::{
Bank, InnerInstructionsList, NonceRollbackInfo, TransactionLogMessages,
},
solana_transaction_status::{InnerInstructions, Reward, TransactionStatusMeta},
solana_transaction_status::{
extract_and_fmt_memos, InnerInstructions, Reward, TransactionStatusMeta,
},
std::{
sync::{
atomic::{AtomicBool, AtomicU64, Ordering},
@ -141,6 +143,12 @@ impl TransactionStatusService {
.collect(),
);
if let Some(memos) = extract_and_fmt_memos(transaction.message()) {
blockstore
.write_transaction_memos(transaction.signature(), memos)
.expect("Expect database write to succeed: TransactionMemos");
}
blockstore
.write_transaction_status(
slot,
@ -159,7 +167,7 @@ impl TransactionStatusService {
rewards,
},
)
.expect("Expect database write to succeed");
.expect("Expect database write to succeed: TransactionStatus");
}
}
}