parent
636b5987af
commit
fc12841d95
|
@ -2495,8 +2495,8 @@ fn main() {
|
|||
Sol(base_account.lamports),
|
||||
Sol(warped_account.lamports),
|
||||
Sol(delta),
|
||||
((warped_account.lamports as f64)
|
||||
/ (base_account.lamports as f64)
|
||||
((warped_account.lamports() as f64)
|
||||
/ (base_account.lamports() as f64)
|
||||
* 100_f64)
|
||||
- 100_f64,
|
||||
detail,
|
||||
|
|
|
@ -17,7 +17,7 @@ use dashmap::{
|
|||
use log::*;
|
||||
use rand::{thread_rng, Rng};
|
||||
use solana_sdk::{
|
||||
account::{Account, AccountSharedData},
|
||||
account::{Account, AccountSharedData, ReadableAccount},
|
||||
account_utils::StateMut,
|
||||
bpf_loader_upgradeable::{self, UpgradeableLoaderState},
|
||||
clock::{Slot, INITIAL_RENT_EPOCH},
|
||||
|
@ -456,7 +456,7 @@ impl Accounts {
|
|||
account: AccountSharedData,
|
||||
slot: Slot,
|
||||
) -> Option<(AccountSharedData, Slot)> {
|
||||
if account.lamports > 0 {
|
||||
if account.lamports() > 0 {
|
||||
Some((account, slot))
|
||||
} else {
|
||||
None
|
||||
|
|
|
@ -4029,7 +4029,7 @@ impl Bank {
|
|||
.minimum_balance(nonce::State::size()),
|
||||
_ => 0,
|
||||
};
|
||||
if lamports + min_balance > account.lamports {
|
||||
if lamports + min_balance > account.lamports() {
|
||||
return Err(TransactionError::InsufficientFundsForFee);
|
||||
}
|
||||
|
||||
|
|
|
@ -125,13 +125,13 @@ impl PreAccount {
|
|||
|
||||
// An account not assigned to the program cannot have its balance decrease.
|
||||
if *program_id != pre.owner // line coverage used to get branch coverage
|
||||
&& pre.lamports > post.lamports
|
||||
&& pre.lamports() > post.lamports
|
||||
{
|
||||
return Err(InstructionError::ExternalAccountLamportSpend);
|
||||
}
|
||||
|
||||
// The balance of read-only and executable accounts may not change
|
||||
let lamports_changed = pre.lamports != post.lamports;
|
||||
let lamports_changed = pre.lamports() != post.lamports;
|
||||
if lamports_changed {
|
||||
if !is_writable {
|
||||
return Err(InstructionError::ReadonlyLamportChange);
|
||||
|
@ -1979,7 +1979,7 @@ mod tests {
|
|||
MockSystemInstruction::BorrowFail => {
|
||||
let from_account = keyed_accounts[0].try_account_ref_mut()?;
|
||||
let dup_account = keyed_accounts[2].try_account_ref_mut()?;
|
||||
if from_account.lamports != dup_account.lamports {
|
||||
if from_account.lamports() != dup_account.lamports() {
|
||||
return Err(InstructionError::InvalidArgument);
|
||||
}
|
||||
Ok(())
|
||||
|
|
|
@ -84,7 +84,7 @@ impl RentCollector {
|
|||
.due(account.lamports, account.data().len(), years_elapsed);
|
||||
|
||||
if exempt || rent_due != 0 {
|
||||
if account.lamports > rent_due {
|
||||
if account.lamports() > rent_due {
|
||||
account.rent_epoch = self.epoch
|
||||
+ if exempt {
|
||||
// Rent isn't collected for the next epoch
|
||||
|
@ -158,7 +158,7 @@ mod tests {
|
|||
assert_ne!(existing_account.rent_epoch, old_epoch);
|
||||
|
||||
// newly created account should be collected for less rent; thus more remaining balance
|
||||
assert!(created_account.lamports > existing_account.lamports);
|
||||
assert!(created_account.lamports() > existing_account.lamports);
|
||||
assert_eq!(created_account.rent_epoch, existing_account.rent_epoch);
|
||||
}
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ impl Stakes {
|
|||
let old = self.vote_accounts.remove(pubkey);
|
||||
// when account is removed (lamports == 0 or data uninitialized), don't read so that
|
||||
// given `pubkey` can be used for any owner in the future, while not affecting Stakes.
|
||||
if account.lamports != 0
|
||||
if account.lamports() != 0
|
||||
&& !(check_vote_init && VoteState::is_uninitialized_no_deser(&account.data()))
|
||||
{
|
||||
let stake = old.as_ref().map_or_else(
|
||||
|
@ -162,7 +162,7 @@ impl Stakes {
|
|||
let stake = delegation.map(|delegation| {
|
||||
(
|
||||
delegation.voter_pubkey,
|
||||
if account.lamports != 0 {
|
||||
if account.lamports() != 0 {
|
||||
delegation.stake(
|
||||
self.epoch,
|
||||
Some(&self.stake_history),
|
||||
|
|
|
@ -155,7 +155,7 @@ fn create_account(
|
|||
// if it looks like the `to` account is already in use, bail
|
||||
{
|
||||
let to = &mut to.try_account_ref_mut()?;
|
||||
if to.lamports > 0 {
|
||||
if to.lamports() > 0 {
|
||||
ic_msg!(
|
||||
invoke_context,
|
||||
"Create Account: account {:?} already in use",
|
||||
|
|
|
@ -36,7 +36,7 @@ impl<'a> KeyedAccount<'a> {
|
|||
}
|
||||
|
||||
pub fn lamports(&self) -> Result<u64, InstructionError> {
|
||||
Ok(self.try_borrow()?.lamports)
|
||||
Ok(self.try_borrow()?.lamports())
|
||||
}
|
||||
|
||||
pub fn data_len(&self) -> Result<usize, InstructionError> {
|
||||
|
|
|
@ -267,6 +267,7 @@ where
|
|||
mod test {
|
||||
use super::*;
|
||||
use crate::{
|
||||
account::ReadableAccount,
|
||||
account_utils::State as AccountUtilsState,
|
||||
keyed_account::KeyedAccount,
|
||||
nonce::{self, State},
|
||||
|
@ -610,9 +611,12 @@ mod test {
|
|||
// Deinitializes Account state
|
||||
assert_eq!(state, State::Uninitialized);
|
||||
// Empties Account balance
|
||||
assert_eq!(nonce_keyed.account.borrow().lamports, expect_nonce_lamports);
|
||||
assert_eq!(
|
||||
nonce_keyed.account.borrow().lamports(),
|
||||
expect_nonce_lamports
|
||||
);
|
||||
// Account balance goes to `to`
|
||||
assert_eq!(to_keyed.account.borrow().lamports, expect_to_lamports);
|
||||
assert_eq!(to_keyed.account.borrow().lamports(), expect_to_lamports);
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue