Add a constructor to generate random pubkeys
This commit is contained in:
@ -214,7 +214,6 @@ impl BudgetExpr {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||
|
||||
#[test]
|
||||
fn test_signature_satisfied() {
|
||||
@ -258,8 +257,8 @@ mod tests {
|
||||
#[test]
|
||||
fn test_future_payment() {
|
||||
let dt = Utc.ymd(2014, 11, 14).and_hms(8, 9, 10);
|
||||
let from = Keypair::new().pubkey();
|
||||
let to = Keypair::new().pubkey();
|
||||
let from = Pubkey::new_rand();
|
||||
let to = Pubkey::new_rand();
|
||||
|
||||
let mut expr = BudgetExpr::new_future_payment(dt, &from, 42, &to);
|
||||
expr.apply_witness(&Witness::Timestamp(dt), &from);
|
||||
@ -271,8 +270,8 @@ mod tests {
|
||||
// Ensure timestamp will only be acknowledged if it came from the
|
||||
// whitelisted public key.
|
||||
let dt = Utc.ymd(2014, 11, 14).and_hms(8, 9, 10);
|
||||
let from = Keypair::new().pubkey();
|
||||
let to = Keypair::new().pubkey();
|
||||
let from = Pubkey::new_rand();
|
||||
let to = Pubkey::new_rand();
|
||||
|
||||
let mut expr = BudgetExpr::new_future_payment(dt, &from, 42, &to);
|
||||
let orig_expr = expr.clone();
|
||||
@ -296,8 +295,8 @@ mod tests {
|
||||
}
|
||||
#[test]
|
||||
fn test_2_2_multisig_payment() {
|
||||
let from0 = Keypair::new().pubkey();
|
||||
let from1 = Keypair::new().pubkey();
|
||||
let from0 = Pubkey::new_rand();
|
||||
let from1 = Pubkey::new_rand();
|
||||
let to = Pubkey::default();
|
||||
|
||||
let mut expr = BudgetExpr::new_2_2_multisig_payment(&from0, &from1, 42, &to);
|
||||
@ -307,9 +306,9 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_multisig_after_sig() {
|
||||
let from0 = Keypair::new().pubkey();
|
||||
let from1 = Keypair::new().pubkey();
|
||||
let from2 = Keypair::new().pubkey();
|
||||
let from0 = Pubkey::new_rand();
|
||||
let from1 = Pubkey::new_rand();
|
||||
let from2 = Pubkey::new_rand();
|
||||
let to = Pubkey::default();
|
||||
|
||||
let expr = BudgetExpr::new_2_2_multisig_payment(&from0, &from1, 42, &to);
|
||||
@ -322,8 +321,8 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_multisig_after_ts() {
|
||||
let from0 = Keypair::new().pubkey();
|
||||
let from1 = Keypair::new().pubkey();
|
||||
let from0 = Pubkey::new_rand();
|
||||
let from1 = Pubkey::new_rand();
|
||||
let dt = Utc.ymd(2014, 11, 11).and_hms(7, 7, 7);
|
||||
let to = Pubkey::default();
|
||||
|
||||
|
@ -6,7 +6,6 @@ use chrono::prelude::{DateTime, Utc};
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
use solana_sdk::instruction::{AccountMeta, Instruction};
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||
use solana_sdk::system_instruction::SystemInstruction;
|
||||
|
||||
/// A smart contract.
|
||||
@ -59,7 +58,7 @@ impl BudgetInstruction {
|
||||
|
||||
/// Create a new payment script.
|
||||
pub fn new_payment(from: &Pubkey, to: &Pubkey, lamports: u64) -> Vec<Instruction> {
|
||||
let contract = Keypair::new().pubkey();
|
||||
let contract = Pubkey::new_rand();
|
||||
let expr = BudgetExpr::new_payment(lamports, to);
|
||||
Self::new_account(from, &contract, lamports, expr)
|
||||
}
|
||||
@ -127,17 +126,17 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_budget_instruction_verify() {
|
||||
let alice_pubkey = Keypair::new().pubkey();
|
||||
let bob_pubkey = Keypair::new().pubkey();
|
||||
let alice_pubkey = Pubkey::new_rand();
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
BudgetInstruction::new_payment(&alice_pubkey, &bob_pubkey, 1); // No panic! indicates success.
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
fn test_budget_instruction_overspend() {
|
||||
let alice_pubkey = Keypair::new().pubkey();
|
||||
let bob_pubkey = Keypair::new().pubkey();
|
||||
let budget_pubkey = Keypair::new().pubkey();
|
||||
let alice_pubkey = Pubkey::new_rand();
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let budget_pubkey = Pubkey::new_rand();
|
||||
let expr = BudgetExpr::new_payment(2, &bob_pubkey);
|
||||
BudgetInstruction::new_account(&alice_pubkey, &budget_pubkey, 1, expr);
|
||||
}
|
||||
@ -145,9 +144,9 @@ mod tests {
|
||||
#[test]
|
||||
#[should_panic]
|
||||
fn test_budget_instruction_underspend() {
|
||||
let alice_pubkey = Keypair::new().pubkey();
|
||||
let bob_pubkey = Keypair::new().pubkey();
|
||||
let budget_pubkey = Keypair::new().pubkey();
|
||||
let alice_pubkey = Pubkey::new_rand();
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let budget_pubkey = Pubkey::new_rand();
|
||||
let expr = BudgetExpr::new_payment(1, &bob_pubkey);
|
||||
BudgetInstruction::new_account(&alice_pubkey, &budget_pubkey, 2, expr);
|
||||
}
|
||||
|
@ -165,7 +165,7 @@ mod tests {
|
||||
let (bank, alice_keypair) = create_bank(10_000);
|
||||
let bank_client = BankClient::new(&bank);
|
||||
let alice_pubkey = alice_keypair.pubkey();
|
||||
let bob_pubkey = Keypair::new().pubkey();
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let instructions = BudgetInstruction::new_payment(&alice_pubkey, &bob_pubkey, 100);
|
||||
let message = Message::new(instructions);
|
||||
bank_client
|
||||
@ -181,9 +181,9 @@ mod tests {
|
||||
let alice_pubkey = alice_keypair.pubkey();
|
||||
|
||||
// Initialize BudgetState
|
||||
let budget_pubkey = Keypair::new().pubkey();
|
||||
let bob_pubkey = Keypair::new().pubkey();
|
||||
let witness = Keypair::new().pubkey();
|
||||
let budget_pubkey = Pubkey::new_rand();
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let witness = Pubkey::new_rand();
|
||||
let instructions = BudgetInstruction::new_when_signed(
|
||||
&alice_pubkey,
|
||||
&bob_pubkey,
|
||||
@ -228,8 +228,8 @@ mod tests {
|
||||
let alice_pubkey = alice_keypair.pubkey();
|
||||
|
||||
// Initialize BudgetState
|
||||
let budget_pubkey = Keypair::new().pubkey();
|
||||
let bob_pubkey = Keypair::new().pubkey();
|
||||
let budget_pubkey = Pubkey::new_rand();
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let dt = Utc::now();
|
||||
let instructions = BudgetInstruction::new_on_date(
|
||||
&alice_pubkey,
|
||||
@ -278,9 +278,9 @@ mod tests {
|
||||
let (bank, alice_keypair) = create_bank(2);
|
||||
let bank_client = BankClient::new(&bank);
|
||||
let alice_pubkey = alice_keypair.pubkey();
|
||||
let budget_pubkey = Keypair::new().pubkey();
|
||||
let bob_pubkey = Keypair::new().pubkey();
|
||||
let mallory_pubkey = Keypair::new().pubkey();
|
||||
let budget_pubkey = Pubkey::new_rand();
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let mallory_pubkey = Pubkey::new_rand();
|
||||
let dt = Utc::now();
|
||||
let instructions = BudgetInstruction::new_on_date(
|
||||
&alice_pubkey,
|
||||
@ -344,8 +344,8 @@ mod tests {
|
||||
let (bank, alice_keypair) = create_bank(3);
|
||||
let bank_client = BankClient::new(&bank);
|
||||
let alice_pubkey = alice_keypair.pubkey();
|
||||
let budget_pubkey = Keypair::new().pubkey();
|
||||
let bob_pubkey = Keypair::new().pubkey();
|
||||
let budget_pubkey = Pubkey::new_rand();
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let dt = Utc::now();
|
||||
|
||||
let instructions = BudgetInstruction::new_on_date(
|
||||
|
@ -522,7 +522,7 @@ mod test {
|
||||
}
|
||||
|
||||
fn create_account(client: &BankClient, owner: &Keypair) -> Pubkey {
|
||||
let new = Keypair::new().pubkey();
|
||||
let new = Pubkey::new_rand();
|
||||
let instruction = SystemInstruction::new_program_account(
|
||||
&owner.pubkey(),
|
||||
&new,
|
||||
@ -537,7 +537,7 @@ mod test {
|
||||
}
|
||||
|
||||
fn create_token_account(client: &BankClient, owner: &Keypair) -> Pubkey {
|
||||
let new = Keypair::new().pubkey();
|
||||
let new = Pubkey::new_rand();
|
||||
let instruction = SystemInstruction::new_program_account(
|
||||
&owner.pubkey(),
|
||||
&new,
|
||||
|
@ -203,7 +203,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_storage_tx() {
|
||||
let pubkey = Keypair::new().pubkey();
|
||||
let pubkey = Pubkey::new_rand();
|
||||
let mut accounts = [(pubkey, Account::default())];
|
||||
let mut keyed_accounts = create_keyed_accounts(&mut accounts);
|
||||
assert!(process_instruction(&id(), &mut keyed_accounts, &[], 42).is_err());
|
||||
@ -211,7 +211,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_serialize_overflow() {
|
||||
let pubkey = Keypair::new().pubkey();
|
||||
let pubkey = Pubkey::new_rand();
|
||||
let mut keyed_accounts = Vec::new();
|
||||
let mut user_account = Account::default();
|
||||
keyed_accounts.push(KeyedAccount::new(&pubkey, true, &mut user_account));
|
||||
@ -230,7 +230,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_invalid_accounts_len() {
|
||||
let pubkey = Keypair::new().pubkey();
|
||||
let pubkey = Pubkey::new_rand();
|
||||
let mut accounts = [Account::default()];
|
||||
|
||||
let ix =
|
||||
@ -245,7 +245,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_submit_mining_invalid_entry_height() {
|
||||
solana_logger::setup();
|
||||
let pubkey = Keypair::new().pubkey();
|
||||
let pubkey = Pubkey::new_rand();
|
||||
let mut accounts = [Account::default(), Account::default()];
|
||||
accounts[1].data.resize(16 * 1024, 0);
|
||||
|
||||
@ -259,7 +259,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_submit_mining_ok() {
|
||||
solana_logger::setup();
|
||||
let pubkey = Keypair::new().pubkey();
|
||||
let pubkey = Pubkey::new_rand();
|
||||
let mut accounts = [Account::default(), Account::default()];
|
||||
accounts[0].data.resize(16 * 1024, 0);
|
||||
|
||||
@ -280,7 +280,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_validate_mining() {
|
||||
solana_logger::setup();
|
||||
let pubkey = Keypair::new().pubkey();
|
||||
let pubkey = Pubkey::new_rand();
|
||||
let mut accounts = [Account::default(), Account::default()];
|
||||
accounts[0].data.resize(16 * 1024, 0);
|
||||
|
||||
@ -362,8 +362,8 @@ mod tests {
|
||||
let alice_pubkey = alice_keypair.pubkey();
|
||||
let bob_keypair = Keypair::new();
|
||||
let bob_pubkey = bob_keypair.pubkey();
|
||||
let jack_pubkey = Keypair::new().pubkey();
|
||||
let jill_pubkey = Keypair::new().pubkey();
|
||||
let jack_pubkey = Pubkey::new_rand();
|
||||
let jill_pubkey = Pubkey::new_rand();
|
||||
|
||||
let mut bank = Bank::new(&genesis_block);
|
||||
bank.add_instruction_processor(id(), process_instruction);
|
||||
|
@ -120,7 +120,7 @@ mod tests {
|
||||
let (bank, from_keypair) = create_bank(10_000);
|
||||
let vote_keypair = Keypair::new();
|
||||
let bank_client = BankClient::new(&bank);
|
||||
let delegate_id = Keypair::new().pubkey();
|
||||
let delegate_id = Pubkey::new_rand();
|
||||
create_vote_account_with_delegate(
|
||||
&bank_client,
|
||||
&from_keypair,
|
||||
|
@ -312,14 +312,13 @@ pub fn vote_and_deserialize(
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||
|
||||
#[test]
|
||||
fn test_initialize_vote_account() {
|
||||
let vote_account_id = Keypair::new().pubkey();
|
||||
let vote_account_id = Pubkey::new_rand();
|
||||
let mut vote_account = create_vote_account(100);
|
||||
|
||||
let bogus_account_id = Keypair::new().pubkey();
|
||||
let bogus_account_id = Pubkey::new_rand();
|
||||
let mut bogus_account = Account::new(100, 0, &id());
|
||||
|
||||
let mut keyed_accounts = [KeyedAccount::new(
|
||||
@ -351,7 +350,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_voter_registration() {
|
||||
let vote_id = Keypair::new().pubkey();
|
||||
let vote_id = Pubkey::new_rand();
|
||||
let mut vote_account = create_vote_account(100);
|
||||
|
||||
let vote_state = initialize_and_deserialize(&vote_id, &mut vote_account).unwrap();
|
||||
@ -361,7 +360,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_vote() {
|
||||
let vote_id = Keypair::new().pubkey();
|
||||
let vote_id = Pubkey::new_rand();
|
||||
let mut vote_account = create_vote_account(100);
|
||||
initialize_and_deserialize(&vote_id, &mut vote_account).unwrap();
|
||||
|
||||
@ -373,7 +372,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_vote_signature() {
|
||||
let vote_id = Keypair::new().pubkey();
|
||||
let vote_id = Pubkey::new_rand();
|
||||
let mut vote_account = create_vote_account(100);
|
||||
initialize_and_deserialize(&vote_id, &mut vote_account).unwrap();
|
||||
|
||||
@ -385,7 +384,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_vote_without_initialization() {
|
||||
let vote_id = Keypair::new().pubkey();
|
||||
let vote_id = Pubkey::new_rand();
|
||||
let mut vote_account = create_vote_account(100);
|
||||
|
||||
let vote = Vote::new(1);
|
||||
@ -395,7 +394,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_vote_lockout() {
|
||||
let voter_id = Keypair::new().pubkey();
|
||||
let voter_id = Pubkey::new_rand();
|
||||
let mut vote_state = VoteState::new(&voter_id);
|
||||
|
||||
for i in 0..(MAX_LOCKOUT_HISTORY + 1) {
|
||||
@ -425,7 +424,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_vote_double_lockout_after_expiration() {
|
||||
let voter_id = Keypair::new().pubkey();
|
||||
let voter_id = Pubkey::new_rand();
|
||||
let mut vote_state = VoteState::new(&voter_id);
|
||||
|
||||
for i in 0..3 {
|
||||
@ -451,7 +450,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_vote_credits() {
|
||||
let voter_id = Keypair::new().pubkey();
|
||||
let voter_id = Pubkey::new_rand();
|
||||
let mut vote_state = VoteState::new(&voter_id);
|
||||
|
||||
for i in 0..MAX_LOCKOUT_HISTORY {
|
||||
@ -472,7 +471,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_duplicate_vote() {
|
||||
let voter_id = Keypair::new().pubkey();
|
||||
let voter_id = Pubkey::new_rand();
|
||||
let mut vote_state = VoteState::new(&voter_id);
|
||||
vote_state.process_vote(Vote::new(0));
|
||||
vote_state.process_vote(Vote::new(1));
|
||||
@ -484,7 +483,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_nth_recent_vote() {
|
||||
let voter_id = Keypair::new().pubkey();
|
||||
let voter_id = Pubkey::new_rand();
|
||||
let mut vote_state = VoteState::new(&voter_id);
|
||||
for i in 0..MAX_LOCKOUT_HISTORY {
|
||||
vote_state.process_vote(Vote::new(i as u64));
|
||||
|
Reference in New Issue
Block a user