turn on rent (#7368)

* turn on rent

* add rent exempt balances for bootstrap accounts

* use Rent::free() when not testing rent
This commit is contained in:
Rob Walker
2019-12-09 21:56:43 -08:00
committed by GitHub
parent ed9cf3566c
commit 39cd6dff7d
12 changed files with 89 additions and 48 deletions

View File

@ -258,8 +258,9 @@ mod tests {
let rent_key = rent::id();
let mut file = File::open("test_elfs/noop.so").expect("file open failed");
let mut elf = Vec::new();
let rent = rent::Rent::default();
file.read_to_end(&mut elf).unwrap();
let mut program_account = Account::new(1, 0, &program_id);
let mut program_account = Account::new(rent.minimum_balance(elf.len()), 0, &program_id);
program_account.data = elf;
let mut keyed_accounts = vec![KeyedAccount::new(&program_key, false, &mut program_account)];
let ix_data = bincode::serialize(&LoaderInstruction::Finalize).unwrap();
@ -270,7 +271,7 @@ mod tests {
process_instruction(&program_id, &mut vec![], &ix_data)
);
let mut rent_account = rent::create_account(1, &rent::Rent::default());
let mut rent_account = rent::create_account(1, &rent);
keyed_accounts.push(KeyedAccount::new(&rent_key, false, &mut rent_account));
// Case: Not signed

View File

@ -156,7 +156,8 @@ mod tests {
use std::sync::Arc;
fn create_bank(lamports: u64) -> (Arc<Bank>, Keypair, Keypair, Pubkey, Pubkey) {
let (genesis_config, mint) = create_genesis_config(lamports);
let (mut genesis_config, mint) = create_genesis_config(lamports);
genesis_config.rent.lamports_per_byte_year = 0;
let mut bank = Bank::new(&genesis_config);
bank.add_instruction_processor(
solana_sdk::move_loader::id(),

View File

@ -463,7 +463,7 @@ mod tests {
let sender_address = AccountAddress::default();
let mut script = LibraAccount::create_script(&sender_address, code, vec![]);
let rent_id = rent::id();
let mut rent_account = rent::create_account(1, &Rent::default());
let mut rent_account = rent::create_account(1, &Rent::free());
let mut keyed_accounts = vec![
KeyedAccount::new(&script.key, true, &mut script.account),
KeyedAccount::new(&rent_id, false, &mut rent_account),
@ -509,7 +509,7 @@ mod tests {
let mut genesis = LibraAccount::create_genesis(1_000_000_000);
let rent_id = rent::id();
let mut rent_account = rent::create_account(1, &Rent::default());
let mut rent_account = rent::create_account(1, &Rent::free());
let mut keyed_accounts = vec![
KeyedAccount::new(&script.key, true, &mut script.account),
KeyedAccount::new(&rent_id, false, &mut rent_account),
@ -547,7 +547,7 @@ mod tests {
";
let mut module = LibraAccount::create_module(code, vec![]);
let rent_id = rent::id();
let mut rent_account = rent::create_account(1, &Rent::default());
let mut rent_account = rent::create_account(1, &Rent::free());
let mut keyed_accounts = vec![
KeyedAccount::new(&module.key, true, &mut module.account),
KeyedAccount::new(&rent_id, false, &mut rent_account),
@ -572,7 +572,7 @@ mod tests {
let mut genesis = LibraAccount::create_genesis(1_000_000_000);
let rent_id = rent::id();
let mut rent_account = rent::create_account(1, &Rent::default());
let mut rent_account = rent::create_account(1, &Rent::free());
let mut keyed_accounts = vec![
KeyedAccount::new(&script.key, true, &mut script.account),
KeyedAccount::new(&rent_id, false, &mut rent_account),
@ -650,7 +650,7 @@ mod tests {
let mut payee = LibraAccount::create_unallocated(BIG_ENOUGH);
let rent_id = rent::id();
let mut rent_account = rent::create_account(1, &Rent::default());
let mut rent_account = rent::create_account(1, &Rent::free());
let mut keyed_accounts = vec![
KeyedAccount::new(&script.key, true, &mut script.account),
KeyedAccount::new(&rent_id, false, &mut rent_account),
@ -711,7 +711,7 @@ mod tests {
let mut module = LibraAccount::create_module(&code, vec![]);
let rent_id = rent::id();
let mut rent_account = rent::create_account(1, &Rent::default());
let mut rent_account = rent::create_account(1, &Rent::free());
let mut keyed_accounts = vec![
KeyedAccount::new(&module.key, true, &mut module.account),
KeyedAccount::new(&rent_id, false, &mut rent_account),
@ -735,7 +735,7 @@ mod tests {
import 0x0.LibraAccount;
import 0x0.LibraCoin;
import 0x{}.M;
main(payee: address) {{
let amount: u64;
amount = M.universal_truth();
@ -750,7 +750,7 @@ mod tests {
let mut payee = LibraAccount::create_unallocated(BIG_ENOUGH);
let rent_id = rent::id();
let mut rent_account = rent::create_account(1, &Rent::default());
let mut rent_account = rent::create_account(1, &Rent::free());
let mut keyed_accounts = vec![
KeyedAccount::new(&script.key, true, &mut script.account),
KeyedAccount::new(&rent_id, false, &mut rent_account),
@ -803,7 +803,7 @@ mod tests {
let mut payee = LibraAccount::create_unallocated(BIG_ENOUGH);
let rent_id = rent::id();
let mut rent_account = rent::create_account(1, &Rent::default());
let mut rent_account = rent::create_account(1, &Rent::free());
let mut keyed_accounts = vec![
KeyedAccount::new(&script.key, true, &mut script.account),
KeyedAccount::new(&rent_id, false, &mut rent_account),

View File

@ -1393,7 +1393,7 @@ mod tests {
&Lockup::default(),
&Rent {
lamports_per_byte_year: 42,
..Rent::default()
..Rent::free()
},
),
Err(InstructionError::InsufficientFunds)
@ -1407,7 +1407,7 @@ mod tests {
epoch: 1,
custodian
},
&Rent::default(),
&Rent::free(),
),
Ok(())
);
@ -1431,7 +1431,7 @@ mod tests {
stake_keyed_account.initialize(
&Authorized::default(),
&Lockup::default(),
&Rent::default()
&Rent::free()
),
Err(InstructionError::InvalidAccountData)
);
@ -1559,7 +1559,7 @@ mod tests {
epoch: 0,
custodian,
},
&Rent::default(),
&Rent::free(),
)
.unwrap();

View File

@ -210,7 +210,7 @@ mod tests {
} else if sysvar::slot_hashes::check_id(&meta.pubkey) {
sysvar::slot_hashes::create_account(1, &[])
} else if sysvar::rent::check_id(&meta.pubkey) {
Rent::default().create_account(1)
Rent::free().create_account(1)
} else {
Account::default()
}