Skip to content
This repository has been archived by the owner on Jan 22, 2025. It is now read-only.

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
tao-stones committed Dec 5, 2023
1 parent df369e9 commit cbd3193
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 16 deletions.
18 changes: 5 additions & 13 deletions runtime-transaction/src/runtime_transaction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
//! It has two states:
//! 1. Statically Loaded: after receiving `packet` from sigverify and deserializing
//! it into `solana_sdk::VersionedTransaction`, then sanitizing into
//! `solana_sdk::SanitizedVersionedTransaction`, `RuntimeTransactionStatic`
//! can be created from it with static transaction metadata extracted.
//! `solana_sdk::SanitizedVersionedTransaction`, which can be wrapped into
//! `RuntimeTransaction` with static transaction metadata extracted.
//! 2. Dynamically Loaded: after successfully loaded account addresses from onchain
//! ALT, RuntimeTransaction transits into Dynamically Loaded state, with
//! its dynamic metadata loaded.
//! ALT, RuntimeTransaction<SanitizedMessage> transits into Dynamically Loaded state,
//! with its dynamic metadata loaded.
use {
crate::transaction_meta::{DynamicMeta, StaticMeta, TransactionMeta},
solana_sdk::{
Expand Down Expand Up @@ -50,11 +50,7 @@ impl<M: StaticMetaAccess> StaticMeta for RuntimeTransaction<M> {
}
}

impl<M: DynamicMetaAccess> DynamicMeta for RuntimeTransaction<M> {
fn i_am_dynamic(&self) -> bool {
true
}
}
impl<M: DynamicMetaAccess> DynamicMeta for RuntimeTransaction<M> {}

impl RuntimeTransaction<SanitizedVersionedMessage> {
pub fn try_from(
Expand Down Expand Up @@ -227,9 +223,6 @@ mod tests {

assert_eq!(hash, *statically_loaded_transaction.message_hash());
assert!(!statically_loaded_transaction.is_simple_vote_tx());
// DynamicMeta::i_am_dynamic() is not implemented for RuntimeTransaction<SanitizedVersionedMessage>.
// Below line won't compile
// assert_eq!(false, statically_loaded_transaction.i_am_dynamic());

let dynamically_loaded_transaction = RuntimeTransaction::<SanitizedMessage>::try_from(
statically_loaded_transaction,
Expand All @@ -240,6 +233,5 @@ mod tests {

assert_eq!(hash, *dynamically_loaded_transaction.message_hash());
assert!(!dynamically_loaded_transaction.is_simple_vote_tx());
assert!(dynamically_loaded_transaction.i_am_dynamic());
}
}
4 changes: 1 addition & 3 deletions runtime-transaction/src/transaction_meta.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@ pub trait StaticMeta {
/// have both meta data populated and available.
/// Dynamic metadata available after accounts addresses are loaded from
/// on-chain ALT, examples are: transaction usage costs, nonce account.
pub trait DynamicMeta: StaticMeta {
fn i_am_dynamic(&self) -> bool;
}
pub trait DynamicMeta: StaticMeta {}

#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub struct TransactionMeta {
Expand Down

0 comments on commit cbd3193

Please sign in to comment.