Add no-signer argument
This commit is contained in:
committed by
Tyera Eulberg
parent
ce41760fdd
commit
b7be5b9a7a
@ -187,9 +187,16 @@ fn main() {
|
|||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.help("Create this file, if it doesn't already exist, once node initialization is complete"),
|
.help("Create this file, if it doesn't already exist, once node initialization is complete"),
|
||||||
)
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::with_name("no_signer")
|
||||||
|
.long("no-signer")
|
||||||
|
.takes_value(false)
|
||||||
|
.help("Launch node without vote signer"),
|
||||||
|
)
|
||||||
.get_matches();
|
.get_matches();
|
||||||
|
|
||||||
let no_sigverify = matches.is_present("nosigverify");
|
let no_sigverify = matches.is_present("nosigverify");
|
||||||
|
let no_signer = matches.is_present("no_signer");
|
||||||
let use_only_bootstrap_leader = matches.is_present("no-leader-rotation");
|
let use_only_bootstrap_leader = matches.is_present("no-leader-rotation");
|
||||||
let (keypair, gossip) = parse_identity(&matches);
|
let (keypair, gossip) = parse_identity(&matches);
|
||||||
let ledger_path = matches.value_of("ledger").unwrap();
|
let ledger_path = matches.value_of("ledger").unwrap();
|
||||||
@ -228,25 +235,33 @@ fn main() {
|
|||||||
let mut leader_scheduler = LeaderScheduler::default();
|
let mut leader_scheduler = LeaderScheduler::default();
|
||||||
leader_scheduler.use_only_bootstrap_leader = use_only_bootstrap_leader;
|
leader_scheduler.use_only_bootstrap_leader = use_only_bootstrap_leader;
|
||||||
|
|
||||||
let vote_signer = VoteSignerProxy::new(&keypair, Box::new(RemoteVoteSigner::new(signer_addr)));
|
|
||||||
let vote_account = vote_signer.vote_account;
|
|
||||||
|
|
||||||
info!("Node ID: {}", node.info.id);
|
info!("Node ID: {}", node.info.id);
|
||||||
info!("Signer service address: {:?}", signer_addr);
|
|
||||||
info!("New vote account ID is {:?}", vote_account);
|
let vote_account;
|
||||||
|
let signer_option = if !no_signer {
|
||||||
|
let vote_signer =
|
||||||
|
VoteSignerProxy::new(&keypair, Box::new(RemoteVoteSigner::new(signer_addr)));
|
||||||
|
vote_account = vote_signer.vote_account;
|
||||||
|
info!("Signer service address: {:?}", signer_addr);
|
||||||
|
info!("New vote account ID is {:?}", vote_account);
|
||||||
|
Some(Arc::new(vote_signer))
|
||||||
|
} else {
|
||||||
|
vote_account = Pubkey::default();
|
||||||
|
None
|
||||||
|
};
|
||||||
|
|
||||||
let mut fullnode = Fullnode::new(
|
let mut fullnode = Fullnode::new(
|
||||||
node,
|
node,
|
||||||
ledger_path,
|
ledger_path,
|
||||||
keypair.clone(),
|
keypair.clone(),
|
||||||
Arc::new(vote_signer),
|
signer_option,
|
||||||
cluster_entrypoint,
|
cluster_entrypoint,
|
||||||
no_sigverify,
|
no_sigverify,
|
||||||
leader_scheduler,
|
leader_scheduler,
|
||||||
Some(rpc_port),
|
Some(rpc_port),
|
||||||
);
|
);
|
||||||
|
|
||||||
{
|
if !no_signer {
|
||||||
let leader_node_info = loop {
|
let leader_node_info = loop {
|
||||||
info!("Looking for leader...");
|
info!("Looking for leader...");
|
||||||
match poll_gossip_for_leader(node_info.gossip, Some(10)) {
|
match poll_gossip_for_leader(node_info.gossip, Some(10)) {
|
||||||
|
@ -21,7 +21,7 @@ usage() {
|
|||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
usage: $0 [-x] [--no-leader-rotation] [--init-complete-file FILE] [--rpc-port port] [rsync network path to bootstrap leader configuration] [network entry point]
|
usage: $0 [-x] [--no-leader-rotation] [--init-complete-file FILE] [--rpc-port port] [--no-signer] [rsync network path to bootstrap leader configuration] [network entry point]
|
||||||
|
|
||||||
Start a full node on the specified network
|
Start a full node on the specified network
|
||||||
|
|
||||||
@ -31,6 +31,7 @@ Start a full node on the specified network
|
|||||||
--no-leader-rotation - disable leader rotation
|
--no-leader-rotation - disable leader rotation
|
||||||
--init-complete-file FILE - create this file, if it doesn't already exist, once node initialization is complete
|
--init-complete-file FILE - create this file, if it doesn't already exist, once node initialization is complete
|
||||||
--rpc-port port - custom RPC port for this node
|
--rpc-port port - custom RPC port for this node
|
||||||
|
--no-signer - start node without vote signer
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
exit 1
|
exit 1
|
||||||
@ -44,6 +45,7 @@ maybe_init_complete_file=
|
|||||||
maybe_no_leader_rotation=
|
maybe_no_leader_rotation=
|
||||||
self_setup=0
|
self_setup=0
|
||||||
maybe_rpc_port=
|
maybe_rpc_port=
|
||||||
|
maybe_no_signer=
|
||||||
|
|
||||||
while [[ ${1:0:1} = - ]]; do
|
while [[ ${1:0:1} = - ]]; do
|
||||||
if [[ $1 = -X ]]; then
|
if [[ $1 = -X ]]; then
|
||||||
@ -63,6 +65,9 @@ while [[ ${1:0:1} = - ]]; do
|
|||||||
elif [[ $1 = --rpc-port ]]; then
|
elif [[ $1 = --rpc-port ]]; then
|
||||||
maybe_rpc_port="$1 $2"
|
maybe_rpc_port="$1 $2"
|
||||||
shift 2
|
shift 2
|
||||||
|
elif [[ $1 = --no-signer ]]; then
|
||||||
|
maybe_no_signer="--no-signer"
|
||||||
|
shift
|
||||||
else
|
else
|
||||||
echo "Unknown argument: $1"
|
echo "Unknown argument: $1"
|
||||||
exit 1
|
exit 1
|
||||||
@ -236,11 +241,12 @@ if [[ ! -d "$ledger_config_dir" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
trap 'kill "$pid" && wait "$pid"' INT TERM
|
trap 'kill "$pid" && wait "$pid"' INT TERM
|
||||||
# shellcheck disable=SC2086 # Don't want to double quote maybe_rpc_port or maybe_init_complete_file
|
# shellcheck disable=SC2086 # Don't want to double quote maybe_rpc_port or maybe_init_complete_file or maybe_no_signer
|
||||||
$program \
|
$program \
|
||||||
$maybe_init_complete_file \
|
$maybe_init_complete_file \
|
||||||
$maybe_no_leader_rotation \
|
$maybe_no_leader_rotation \
|
||||||
$maybe_rpc_port \
|
$maybe_rpc_port \
|
||||||
|
$maybe_no_signer \
|
||||||
--identity "$fullnode_json_path" \
|
--identity "$fullnode_json_path" \
|
||||||
--network "$leader_address" \
|
--network "$leader_address" \
|
||||||
--ledger "$ledger_config_dir" \
|
--ledger "$ledger_config_dir" \
|
||||||
|
@ -105,7 +105,7 @@ pub struct Fullnode {
|
|||||||
tpu_sockets: Vec<UdpSocket>,
|
tpu_sockets: Vec<UdpSocket>,
|
||||||
broadcast_socket: UdpSocket,
|
broadcast_socket: UdpSocket,
|
||||||
db_ledger: Arc<DbLedger>,
|
db_ledger: Arc<DbLedger>,
|
||||||
vote_signer: Arc<VoteSignerProxy>,
|
vote_signer: Option<Arc<VoteSignerProxy>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Fullnode {
|
impl Fullnode {
|
||||||
@ -113,7 +113,7 @@ impl Fullnode {
|
|||||||
node: Node,
|
node: Node,
|
||||||
ledger_path: &str,
|
ledger_path: &str,
|
||||||
keypair: Arc<Keypair>,
|
keypair: Arc<Keypair>,
|
||||||
vote_signer: Arc<VoteSignerProxy>,
|
vote_signer: Option<Arc<VoteSignerProxy>>,
|
||||||
entrypoint_addr: Option<SocketAddr>,
|
entrypoint_addr: Option<SocketAddr>,
|
||||||
sigverify_disabled: bool,
|
sigverify_disabled: bool,
|
||||||
leader_scheduler: LeaderScheduler,
|
leader_scheduler: LeaderScheduler,
|
||||||
@ -140,7 +140,7 @@ impl Fullnode {
|
|||||||
node: Node,
|
node: Node,
|
||||||
ledger_path: &str,
|
ledger_path: &str,
|
||||||
keypair: Arc<Keypair>,
|
keypair: Arc<Keypair>,
|
||||||
vote_signer: Arc<VoteSignerProxy>,
|
vote_signer: Option<Arc<VoteSignerProxy>>,
|
||||||
entrypoint_addr: Option<SocketAddr>,
|
entrypoint_addr: Option<SocketAddr>,
|
||||||
sigverify_disabled: bool,
|
sigverify_disabled: bool,
|
||||||
leader_scheduler: LeaderScheduler,
|
leader_scheduler: LeaderScheduler,
|
||||||
@ -189,7 +189,7 @@ impl Fullnode {
|
|||||||
#[allow(clippy::too_many_arguments)]
|
#[allow(clippy::too_many_arguments)]
|
||||||
pub fn new_with_bank(
|
pub fn new_with_bank(
|
||||||
keypair: Arc<Keypair>,
|
keypair: Arc<Keypair>,
|
||||||
vote_signer: Arc<VoteSignerProxy>,
|
vote_signer: Option<Arc<VoteSignerProxy>>,
|
||||||
bank: Bank,
|
bank: Bank,
|
||||||
db_ledger: Option<Arc<DbLedger>>,
|
db_ledger: Option<Arc<DbLedger>>,
|
||||||
entry_height: u64,
|
entry_height: u64,
|
||||||
@ -680,7 +680,7 @@ mod tests {
|
|||||||
let signer = VoteSignerProxy::new(&keypair, Box::new(LocalVoteSigner::default()));
|
let signer = VoteSignerProxy::new(&keypair, Box::new(LocalVoteSigner::default()));
|
||||||
let v = Fullnode::new_with_bank(
|
let v = Fullnode::new_with_bank(
|
||||||
keypair,
|
keypair,
|
||||||
Arc::new(signer),
|
Some(Arc::new(signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
@ -724,7 +724,7 @@ mod tests {
|
|||||||
let signer = VoteSignerProxy::new(&keypair, Box::new(LocalVoteSigner::default()));
|
let signer = VoteSignerProxy::new(&keypair, Box::new(LocalVoteSigner::default()));
|
||||||
Fullnode::new_with_bank(
|
Fullnode::new_with_bank(
|
||||||
keypair,
|
keypair,
|
||||||
Arc::new(signer),
|
Some(Arc::new(signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
@ -804,7 +804,7 @@ mod tests {
|
|||||||
bootstrap_leader_node,
|
bootstrap_leader_node,
|
||||||
&bootstrap_leader_ledger_path,
|
&bootstrap_leader_ledger_path,
|
||||||
bootstrap_leader_keypair,
|
bootstrap_leader_keypair,
|
||||||
Arc::new(signer),
|
Some(Arc::new(signer)),
|
||||||
Some(bootstrap_leader_info.gossip),
|
Some(bootstrap_leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -916,7 +916,7 @@ mod tests {
|
|||||||
bootstrap_leader_node,
|
bootstrap_leader_node,
|
||||||
&bootstrap_leader_ledger_path,
|
&bootstrap_leader_ledger_path,
|
||||||
bootstrap_leader_keypair,
|
bootstrap_leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
Some(bootstrap_leader_info.gossip),
|
Some(bootstrap_leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -935,7 +935,7 @@ mod tests {
|
|||||||
validator_node,
|
validator_node,
|
||||||
&validator_ledger_path,
|
&validator_ledger_path,
|
||||||
validator_keypair,
|
validator_keypair,
|
||||||
Arc::new(validator_vote_account_id),
|
Some(Arc::new(validator_vote_account_id)),
|
||||||
Some(bootstrap_leader_info.gossip),
|
Some(bootstrap_leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -1037,7 +1037,7 @@ mod tests {
|
|||||||
validator_node,
|
validator_node,
|
||||||
&validator_ledger_path,
|
&validator_ledger_path,
|
||||||
validator_keypair,
|
validator_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
Some(leader_gossip),
|
Some(leader_gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
|
@ -64,7 +64,7 @@ impl ReplayStage {
|
|||||||
cluster_info: &Arc<RwLock<ClusterInfo>>,
|
cluster_info: &Arc<RwLock<ClusterInfo>>,
|
||||||
window_receiver: &EntryReceiver,
|
window_receiver: &EntryReceiver,
|
||||||
keypair: &Arc<Keypair>,
|
keypair: &Arc<Keypair>,
|
||||||
vote_signer: &Arc<VoteSignerProxy>,
|
vote_signer: Option<&Arc<VoteSignerProxy>>,
|
||||||
vote_blob_sender: Option<&BlobSender>,
|
vote_blob_sender: Option<&BlobSender>,
|
||||||
ledger_entry_sender: &EntrySender,
|
ledger_entry_sender: &EntrySender,
|
||||||
entry_height: &mut u64,
|
entry_height: &mut u64,
|
||||||
@ -137,10 +137,12 @@ impl ReplayStage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if 0 == num_ticks_to_next_vote {
|
if 0 == num_ticks_to_next_vote {
|
||||||
if let Some(sender) = vote_blob_sender {
|
if let Some(signer) = vote_signer {
|
||||||
vote_signer
|
if let Some(sender) = vote_blob_sender {
|
||||||
.send_validator_vote(bank, &cluster_info, sender)
|
signer
|
||||||
.unwrap();
|
.send_validator_vote(bank, &cluster_info, sender)
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let (scheduled_leader, _) = bank
|
let (scheduled_leader, _) = bank
|
||||||
@ -194,7 +196,7 @@ impl ReplayStage {
|
|||||||
#[allow(clippy::new_ret_no_self)]
|
#[allow(clippy::new_ret_no_self)]
|
||||||
pub fn new(
|
pub fn new(
|
||||||
keypair: Arc<Keypair>,
|
keypair: Arc<Keypair>,
|
||||||
vote_signer: Arc<VoteSignerProxy>,
|
vote_signer: Option<Arc<VoteSignerProxy>>,
|
||||||
bank: Arc<Bank>,
|
bank: Arc<Bank>,
|
||||||
cluster_info: Arc<RwLock<ClusterInfo>>,
|
cluster_info: Arc<RwLock<ClusterInfo>>,
|
||||||
window_receiver: EntryReceiver,
|
window_receiver: EntryReceiver,
|
||||||
@ -240,7 +242,7 @@ impl ReplayStage {
|
|||||||
&cluster_info,
|
&cluster_info,
|
||||||
&window_receiver,
|
&window_receiver,
|
||||||
&keypair,
|
&keypair,
|
||||||
&vote_signer,
|
vote_signer.as_ref(),
|
||||||
Some(&vote_blob_sender),
|
Some(&vote_blob_sender),
|
||||||
&ledger_entry_sender,
|
&ledger_entry_sender,
|
||||||
&mut entry_height_,
|
&mut entry_height_,
|
||||||
@ -379,7 +381,7 @@ mod test {
|
|||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
let (replay_stage, ledger_writer_recv) = ReplayStage::new(
|
let (replay_stage, ledger_writer_recv) = ReplayStage::new(
|
||||||
my_keypair,
|
my_keypair,
|
||||||
Arc::new(vote_account_id),
|
Some(Arc::new(vote_account_id)),
|
||||||
Arc::new(bank),
|
Arc::new(bank),
|
||||||
Arc::new(RwLock::new(cluster_info_me)),
|
Arc::new(RwLock::new(cluster_info_me)),
|
||||||
entry_receiver,
|
entry_receiver,
|
||||||
@ -475,7 +477,7 @@ mod test {
|
|||||||
));
|
));
|
||||||
let (replay_stage, ledger_writer_recv) = ReplayStage::new(
|
let (replay_stage, ledger_writer_recv) = ReplayStage::new(
|
||||||
my_keypair.clone(),
|
my_keypair.clone(),
|
||||||
vote_signer.clone(),
|
Some(vote_signer.clone()),
|
||||||
bank.clone(),
|
bank.clone(),
|
||||||
cluster_info_me.clone(),
|
cluster_info_me.clone(),
|
||||||
entry_receiver,
|
entry_receiver,
|
||||||
@ -591,7 +593,7 @@ mod test {
|
|||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
let (replay_stage, ledger_writer_recv) = ReplayStage::new(
|
let (replay_stage, ledger_writer_recv) = ReplayStage::new(
|
||||||
my_keypair.clone(),
|
my_keypair.clone(),
|
||||||
signer_proxy.clone(),
|
Some(signer_proxy.clone()),
|
||||||
bank.clone(),
|
bank.clone(),
|
||||||
cluster_info_me.clone(),
|
cluster_info_me.clone(),
|
||||||
entry_receiver,
|
entry_receiver,
|
||||||
@ -682,7 +684,7 @@ mod test {
|
|||||||
&cluster_info_me,
|
&cluster_info_me,
|
||||||
&entry_receiver,
|
&entry_receiver,
|
||||||
&my_keypair,
|
&my_keypair,
|
||||||
&vote_signer,
|
Some(&vote_signer),
|
||||||
None,
|
None,
|
||||||
&ledger_entry_sender,
|
&ledger_entry_sender,
|
||||||
&mut entry_height,
|
&mut entry_height,
|
||||||
@ -708,7 +710,7 @@ mod test {
|
|||||||
&cluster_info_me,
|
&cluster_info_me,
|
||||||
&entry_receiver,
|
&entry_receiver,
|
||||||
&Arc::new(Keypair::new()),
|
&Arc::new(Keypair::new()),
|
||||||
&vote_signer,
|
Some(&vote_signer),
|
||||||
None,
|
None,
|
||||||
&ledger_entry_sender,
|
&ledger_entry_sender,
|
||||||
&mut entry_height,
|
&mut entry_height,
|
||||||
|
@ -474,7 +474,7 @@ mod tests {
|
|||||||
let last_id = bank.last_id();
|
let last_id = bank.last_id();
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
@ -531,7 +531,7 @@ mod tests {
|
|||||||
let last_id = bank.last_id();
|
let last_id = bank.last_id();
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
0,
|
0,
|
||||||
@ -593,7 +593,7 @@ mod tests {
|
|||||||
let last_id = bank.last_id();
|
let last_id = bank.last_id();
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
@ -644,7 +644,7 @@ mod tests {
|
|||||||
);
|
);
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
@ -741,7 +741,7 @@ mod tests {
|
|||||||
let entry_height = alice.create_entries().len() as u64;
|
let entry_height = alice.create_entries().len() as u64;
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
|
@ -58,7 +58,7 @@ impl Tvu {
|
|||||||
/// * `sockets` - My fetch, repair, and restransmit sockets
|
/// * `sockets` - My fetch, repair, and restransmit sockets
|
||||||
/// * `db_ledger` - the ledger itself
|
/// * `db_ledger` - the ledger itself
|
||||||
pub fn new(
|
pub fn new(
|
||||||
vote_signer: &Arc<VoteSignerProxy>,
|
vote_signer: &Option<Arc<VoteSignerProxy>>,
|
||||||
bank: &Arc<Bank>,
|
bank: &Arc<Bank>,
|
||||||
entry_height: u64,
|
entry_height: u64,
|
||||||
last_entry_id: Hash,
|
last_entry_id: Hash,
|
||||||
@ -275,7 +275,7 @@ pub mod tests {
|
|||||||
let vote_signer =
|
let vote_signer =
|
||||||
VoteSignerProxy::new(&vote_account_keypair, Box::new(LocalVoteSigner::default()));
|
VoteSignerProxy::new(&vote_account_keypair, Box::new(LocalVoteSigner::default()));
|
||||||
let tvu = Tvu::new(
|
let tvu = Tvu::new(
|
||||||
&Arc::new(vote_signer),
|
&Some(Arc::new(vote_signer)),
|
||||||
&bank,
|
&bank,
|
||||||
0,
|
0,
|
||||||
cur_hash,
|
cur_hash,
|
||||||
|
@ -162,7 +162,7 @@ fn test_multi_node_ledger_window() -> result::Result<()> {
|
|||||||
leader,
|
leader,
|
||||||
&leader_ledger_path,
|
&leader_ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
None,
|
None,
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -180,7 +180,7 @@ fn test_multi_node_ledger_window() -> result::Result<()> {
|
|||||||
validator,
|
validator,
|
||||||
&zero_ledger_path,
|
&zero_ledger_path,
|
||||||
keypair,
|
keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_data.gossip),
|
Some(leader_data.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -262,7 +262,7 @@ fn test_multi_node_validator_catchup_from_zero() -> result::Result<()> {
|
|||||||
leader,
|
leader,
|
||||||
&leader_ledger_path,
|
&leader_ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
None,
|
None,
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -294,7 +294,7 @@ fn test_multi_node_validator_catchup_from_zero() -> result::Result<()> {
|
|||||||
validator,
|
validator,
|
||||||
&ledger_path,
|
&ledger_path,
|
||||||
keypair,
|
keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_data.gossip),
|
Some(leader_data.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -355,7 +355,7 @@ fn test_multi_node_validator_catchup_from_zero() -> result::Result<()> {
|
|||||||
validator,
|
validator,
|
||||||
&zero_ledger_path,
|
&zero_ledger_path,
|
||||||
keypair,
|
keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_data.gossip),
|
Some(leader_data.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -443,7 +443,7 @@ fn test_multi_node_basic() {
|
|||||||
leader,
|
leader,
|
||||||
&leader_ledger_path,
|
&leader_ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
None,
|
None,
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -471,7 +471,7 @@ fn test_multi_node_basic() {
|
|||||||
validator,
|
validator,
|
||||||
&ledger_path,
|
&ledger_path,
|
||||||
keypair,
|
keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_data.gossip),
|
Some(leader_data.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -549,7 +549,7 @@ fn test_boot_validator_from_file() -> result::Result<()> {
|
|||||||
leader,
|
leader,
|
||||||
&leader_ledger_path,
|
&leader_ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
None,
|
None,
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -572,7 +572,7 @@ fn test_boot_validator_from_file() -> result::Result<()> {
|
|||||||
validator,
|
validator,
|
||||||
&ledger_path,
|
&ledger_path,
|
||||||
keypair,
|
keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_data.gossip),
|
Some(leader_data.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -603,7 +603,7 @@ fn create_leader(
|
|||||||
leader,
|
leader,
|
||||||
&ledger_path,
|
&ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
signer,
|
Some(signer),
|
||||||
None,
|
None,
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_data.id),
|
LeaderScheduler::from_bootstrap_leader(leader_data.id),
|
||||||
@ -681,7 +681,7 @@ fn test_leader_restart_validator_start_from_old_ledger() -> result::Result<()> {
|
|||||||
validator,
|
validator,
|
||||||
&stale_ledger_path,
|
&stale_ledger_path,
|
||||||
keypair,
|
keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_data.gossip),
|
Some(leader_data.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_data.id),
|
LeaderScheduler::from_bootstrap_leader(leader_data.id),
|
||||||
@ -748,7 +748,7 @@ fn test_multi_node_dynamic_network() {
|
|||||||
leader,
|
leader,
|
||||||
&leader_ledger_path,
|
&leader_ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
None,
|
None,
|
||||||
true,
|
true,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -819,7 +819,7 @@ fn test_multi_node_dynamic_network() {
|
|||||||
validator,
|
validator,
|
||||||
&ledger_path,
|
&ledger_path,
|
||||||
keypair,
|
keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_data.gossip),
|
Some(leader_data.gossip),
|
||||||
true,
|
true,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
LeaderScheduler::from_bootstrap_leader(leader_pubkey),
|
||||||
@ -1004,7 +1004,7 @@ fn test_leader_to_validator_transition() {
|
|||||||
leader_node,
|
leader_node,
|
||||||
&leader_ledger_path,
|
&leader_ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_info.gossip),
|
Some(leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -1154,7 +1154,7 @@ fn test_leader_validator_basic() {
|
|||||||
validator_node,
|
validator_node,
|
||||||
&validator_ledger_path,
|
&validator_ledger_path,
|
||||||
validator_keypair,
|
validator_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_info.gossip),
|
Some(leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -1167,7 +1167,7 @@ fn test_leader_validator_basic() {
|
|||||||
leader_node,
|
leader_node,
|
||||||
&leader_ledger_path,
|
&leader_ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_info.gossip),
|
Some(leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -1356,7 +1356,7 @@ fn test_dropped_handoff_recovery() {
|
|||||||
bootstrap_leader_node,
|
bootstrap_leader_node,
|
||||||
&bootstrap_leader_ledger_path,
|
&bootstrap_leader_ledger_path,
|
||||||
bootstrap_leader_keypair,
|
bootstrap_leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(bootstrap_leader_info.gossip),
|
Some(bootstrap_leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -1379,7 +1379,7 @@ fn test_dropped_handoff_recovery() {
|
|||||||
validator_node,
|
validator_node,
|
||||||
&validator_ledger_path,
|
&validator_ledger_path,
|
||||||
kp,
|
kp,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(bootstrap_leader_info.gossip),
|
Some(bootstrap_leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -1407,7 +1407,7 @@ fn test_dropped_handoff_recovery() {
|
|||||||
next_leader_node,
|
next_leader_node,
|
||||||
&next_leader_ledger_path,
|
&next_leader_ledger_path,
|
||||||
next_leader_keypair,
|
next_leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(bootstrap_leader_info.gossip),
|
Some(bootstrap_leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -1554,7 +1554,7 @@ fn test_full_leader_validator_network() {
|
|||||||
validator_node,
|
validator_node,
|
||||||
&validator_ledger_path,
|
&validator_ledger_path,
|
||||||
kp.clone(),
|
kp.clone(),
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(bootstrap_leader_info.gossip),
|
Some(bootstrap_leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -1571,7 +1571,7 @@ fn test_full_leader_validator_network() {
|
|||||||
bootstrap_leader_node,
|
bootstrap_leader_node,
|
||||||
&bootstrap_leader_ledger_path,
|
&bootstrap_leader_ledger_path,
|
||||||
leader_keypair.clone(),
|
leader_keypair.clone(),
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(bootstrap_leader_info.gossip),
|
Some(bootstrap_leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
@ -1763,7 +1763,7 @@ fn test_broadcast_last_tick() {
|
|||||||
bootstrap_leader_node,
|
bootstrap_leader_node,
|
||||||
&bootstrap_leader_ledger_path,
|
&bootstrap_leader_ledger_path,
|
||||||
bootstrap_leader_keypair,
|
bootstrap_leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(bootstrap_leader_info.gossip),
|
Some(bootstrap_leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::new(&leader_scheduler_config),
|
LeaderScheduler::new(&leader_scheduler_config),
|
||||||
|
@ -55,7 +55,7 @@ fn test_replicator_startup() {
|
|||||||
leader_node,
|
leader_node,
|
||||||
&leader_ledger_path,
|
&leader_ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
None,
|
None,
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_info.id.clone()),
|
LeaderScheduler::from_bootstrap_leader(leader_info.id.clone()),
|
||||||
@ -84,7 +84,7 @@ fn test_replicator_startup() {
|
|||||||
validator_node,
|
validator_node,
|
||||||
&validator_ledger_path,
|
&validator_ledger_path,
|
||||||
validator_keypair,
|
validator_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_info.gossip),
|
Some(leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_info.id),
|
LeaderScheduler::from_bootstrap_leader(leader_info.id),
|
||||||
@ -283,7 +283,7 @@ fn test_replicator_startup_ledger_hang() {
|
|||||||
leader_node,
|
leader_node,
|
||||||
&leader_ledger_path,
|
&leader_ledger_path,
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
None,
|
None,
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_info.id.clone()),
|
LeaderScheduler::from_bootstrap_leader(leader_info.id.clone()),
|
||||||
@ -299,7 +299,7 @@ fn test_replicator_startup_ledger_hang() {
|
|||||||
validator_node,
|
validator_node,
|
||||||
&validator_ledger_path,
|
&validator_ledger_path,
|
||||||
validator_keypair,
|
validator_keypair,
|
||||||
Arc::new(signer_proxy),
|
Some(Arc::new(signer_proxy)),
|
||||||
Some(leader_info.gossip),
|
Some(leader_info.gossip),
|
||||||
false,
|
false,
|
||||||
LeaderScheduler::from_bootstrap_leader(leader_info.id),
|
LeaderScheduler::from_bootstrap_leader(leader_info.id),
|
||||||
|
@ -47,7 +47,7 @@ fn test_rpc_send_tx() {
|
|||||||
let entry_height = alice.create_entries().len() as u64;
|
let entry_height = alice.create_entries().len() as u64;
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
|
@ -46,7 +46,7 @@ fn test_wallet_deploy_program() {
|
|||||||
let last_id = bank.last_id();
|
let last_id = bank.last_id();
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
|
@ -51,7 +51,7 @@ fn test_wallet_timestamp_tx() {
|
|||||||
let last_id = bank.last_id();
|
let last_id = bank.last_id();
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
@ -148,7 +148,7 @@ fn test_wallet_witness_tx() {
|
|||||||
let last_id = bank.last_id();
|
let last_id = bank.last_id();
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
@ -241,7 +241,7 @@ fn test_wallet_cancel_tx() {
|
|||||||
let last_id = bank.last_id();
|
let last_id = bank.last_id();
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
|
@ -37,7 +37,7 @@ fn test_wallet_request_airdrop() {
|
|||||||
let last_id = bank.last_id();
|
let last_id = bank.last_id();
|
||||||
let server = Fullnode::new_with_bank(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
Arc::new(vote_signer),
|
Some(Arc::new(vote_signer)),
|
||||||
bank,
|
bank,
|
||||||
None,
|
None,
|
||||||
entry_height,
|
entry_height,
|
||||||
|
Reference in New Issue
Block a user