diff --git a/magicblock-accounts/src/scheduled_commits_processor.rs b/magicblock-accounts/src/scheduled_commits_processor.rs index a4a78ce6c..0ae6b3d1f 100644 --- a/magicblock-accounts/src/scheduled_commits_processor.rs +++ b/magicblock-accounts/src/scheduled_commits_processor.rs @@ -101,6 +101,10 @@ impl ScheduledCommitsProcessorImpl { return (intent, vec![]); }; + // Filter duplicate accounts + let mut seen = HashSet::with_capacity(committed_accounts.len()); + committed_accounts.retain(|account| seen.insert(account.pubkey)); + // dump undelegated pubkeys let pubkeys_being_undelegated: Vec<_> = committed_accounts .iter() diff --git a/magicblock-committor-service/Cargo.toml b/magicblock-committor-service/Cargo.toml index 73db3b928..e8e35ec00 100644 --- a/magicblock-committor-service/Cargo.toml +++ b/magicblock-committor-service/Cargo.toml @@ -54,6 +54,7 @@ tokio = { workspace = true } tokio-util = { workspace = true } [dev-dependencies] +solana-signature = { workspace = true, features = ["rand"] } lazy_static = { workspace = true } rand = { workspace = true } tempfile = { workspace = true }