Skip to content

Commit de6b198

Browse files
authored
TransactionView::num_requested_write_locks (anza-xyz#4500)
1 parent d3305e3 commit de6b198

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

transaction-view/src/resolved_transaction_view.rs

+1-11
Original file line numberDiff line numberDiff line change
@@ -146,14 +146,6 @@ impl<D: TransactionData> ResolvedTransactionView<D> {
146146
is_writable_cache
147147
}
148148

149-
fn num_readonly_accounts(&self) -> usize {
150-
usize::from(self.view.total_readonly_lookup_accounts())
151-
.wrapping_add(usize::from(self.view.num_readonly_signed_static_accounts()))
152-
.wrapping_add(usize::from(
153-
self.view.num_readonly_unsigned_static_accounts(),
154-
))
155-
}
156-
157149
pub fn loaded_addresses(&self) -> Option<&LoadedAddresses> {
158150
self.resolved_addresses.as_ref()
159151
}
@@ -165,9 +157,7 @@ impl<D: TransactionData> SVMMessage for ResolvedTransactionView<D> {
165157
}
166158

167159
fn num_write_locks(&self) -> u64 {
168-
self.account_keys()
169-
.len()
170-
.wrapping_sub(self.num_readonly_accounts()) as u64
160+
self.view.num_requested_write_locks()
171161
}
172162

173163
fn recent_blockhash(&self) -> &Hash {

transaction-view/src/transaction_view.rs

+13
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,19 @@ impl<D: TransactionData> TransactionView<true, D> {
209209
.wrapping_add(self.total_writable_lookup_accounts())
210210
.wrapping_add(self.total_readonly_lookup_accounts())
211211
}
212+
213+
/// Return the number of requested writable keys.
214+
#[inline]
215+
pub fn num_requested_write_locks(&self) -> u64 {
216+
u64::from(
217+
u16::from(
218+
(self.num_static_account_keys())
219+
.wrapping_sub(self.num_readonly_signed_static_accounts())
220+
.wrapping_sub(self.num_readonly_unsigned_static_accounts()),
221+
)
222+
.wrapping_add(self.total_writable_lookup_accounts()),
223+
)
224+
}
212225
}
213226

214227
// Manual implementation of `Debug` - avoids bound on `D`.

0 commit comments

Comments
 (0)