Commit Graph

2380 Commits

Author SHA1 Message Date
Michael Vines
973ad7554e Remove superfluous GenesisBlock::load() 2019-02-22 08:41:59 -08:00
Greg Fitzgerald
3be154490d Deprecate create_tmp_sample_ledger 2019-02-22 00:24:46 -07:00
Greg Fitzgerald
4602d3bf46 Unit-tests can use ordinary keypairs 2019-02-21 22:01:20 -08:00
Greg Fitzgerald
778583ad08 Inline BlockConfig::ticks_per_slot 2019-02-21 20:37:21 -08:00
Michael Vines
b501090443 Route BankForks into the ReplayStage 2019-02-21 19:25:17 -08:00
Greg Fitzgerald
f0f55af35b Add scheduler config to genesis
Anything that affects how the ledger is interpreted needs to be
in the genesis block or someplace on the ledger before later
parts of the ledger are interpreted. We currently don't have an
on-chain program for cluster parameters, so that leaves only
the genesis block option.
2019-02-21 17:29:55 -08:00
Pankaj Garg
5c9777970d moved fee collection code to runtime 2019-02-21 16:35:23 -08:00
Pankaj Garg
c142a82ae0 Charge transaction fee even in case of ProgramError 2019-02-21 16:35:23 -08:00
Tyera Eulberg
d8f6865338 Rename EntryStream to Blockstream 2019-02-21 17:24:29 -07:00
Carl
fc48062867 Rename active_window_length to active_window_num_slots 2019-02-21 15:48:13 -08:00
Michael Vines
d25fc7a649 Stop passing blob_index unnecessarily into ReplayStage 2019-02-21 15:33:01 -07:00
Carl
60a6ff80ee Change votes and associated test/helper functions to vote based on slot height 2019-02-21 15:31:53 -07:00
Carl
9e1c5e1ab0 switch vote program to use slot height instead of tick height, change confirmation computation to use slots 2019-02-21 15:31:53 -07:00
Greg Fitzgerald
20fffd8abf Delete BankForks::finalized_bank() 2019-02-21 13:21:08 -08:00
Michael Vines
7cb695df12 RetransmitStage now gets a BankForks 2019-02-21 12:56:56 -08:00
Michael Vines
c94bc2a0b6 Remove dead code 2019-02-21 12:38:43 -08:00
Greg Fitzgerald
511085b747 Make trait pub 2019-02-21 13:32:25 -07:00
Greg Fitzgerald
32caa55d67 Offer a way to get the leader_schedule from any Bank instance 2019-02-21 12:28:11 -08:00
Michael Vines
dcf1200d2a Make Fullnode do less work on rotation, ReplayStage can just pass along more details 2019-02-21 11:13:06 -08:00
Michael Vines
080db1c62d Plumb BankForks into GossipService 2019-02-20 22:19:51 -08:00
Michael Vines
4d5e2c8a4d Plumb BankForks into RPC subsystem 2019-02-20 21:46:48 -08:00
Sagar Dhawan
13d018e3e1 Fix stake selection for the Data Plane (#2863)
* Update data-plane to use stakes instead of a bank directly

* Rename get_stakes to staked_nodes
2019-02-20 21:38:16 -08:00
Michael Vines
59ee2b8892 Fullnode now holds a BankForks instead of a Bank 2019-02-20 21:13:04 -08:00
Michael Vines
0dde79f42b Push BankForks into Fullnode::new() 2019-02-20 21:13:04 -08:00
Greg Fitzgerald
a4411ef6a1 Generate a schedule from a bank 2019-02-20 20:33:33 -08:00
Sagar Dhawan
3c62e2332e Cleanup stakes for gossip (#2860) 2019-02-20 20:02:47 -08:00
Michael Vines
1cd88968cf Remove get_leader_for_next_tick() 2019-02-20 19:33:03 -08:00
Michael Vines
28a53959e0 Remove dead types 2019-02-20 18:39:32 -08:00
carllin
7c26a4d0a0 Add weighted sampling based on stakes (#2854)
* Add weighted sampling based on stakes
2019-02-20 18:21:08 -08:00
Michael Vines
6ed2e4c187 process_blocktree now loads forks 2019-02-20 17:27:02 -08:00
Sagar Dhawan
a484c87354 Make gossip selection stake based (#2848) 2019-02-20 17:08:56 -08:00
Greg Fitzgerald
b8f6280fe5 Move hash_internal_state tests into runtime
This was intended as a Bank test, but only in blocktree_processor
because of its dependency on Entry, which solana_runtime doesn't
know about.
2019-02-20 16:13:26 -08:00
Anatoly Yakovenko
5492aad61e Cache ticks until a working bank can pick them up 2019-02-20 14:14:38 -08:00
Greg Fitzgerald
e9daf57d7f Absorb LeaderScheduler's rank_active_set()
Delete overly-complicated tests
2019-02-20 13:13:31 -07:00
Greg Fitzgerald
1c2169aec7 Use rank_stakes() in LeaderScheduler 2019-02-20 13:13:31 -07:00
Greg Fitzgerald
cf163a9dab Remove unutilized cuteness 2019-02-20 13:13:31 -07:00
Greg Fitzgerald
dfcf3f94dc Absorb LeaderScheduler::get_active_set()
No functional changes
2019-02-20 13:13:31 -07:00
Greg Fitzgerald
b13fb6097f Get rid of the HashSet special case
ActiveSet ranks on construction. get_active_set() is on its way out.
This is a stepping stone.
2019-02-20 13:13:31 -07:00
Greg Fitzgerald
6e24a4aa50 Less copy pasta 2019-02-20 13:13:31 -07:00
Greg Fitzgerald
fb1c6cf4da Drop a bunch of dependencies on VotingKeypair
And de-Arc
2019-02-20 13:13:31 -07:00
Greg Fitzgerald
af1b8f8a26 Absorb vote utilities
But drop dependency on VotingKeypair. Only pass in VotingKeypair
in VotingKeypair tests or integration tests.
2019-02-20 13:13:31 -07:00
Greg Fitzgerald
88d6db8537 And ranking and simplify 2019-02-20 13:13:31 -07:00
Greg Fitzgerald
6ce2c06fd6 Add primitive ActiveStakers and LeaderSchedule objects 2019-02-20 13:13:31 -07:00
Tyera Eulberg
136f7e4b3b Update test to validate entry height 2019-02-20 11:42:06 -07:00
Tyera Eulberg
0a73bb7efd Add tick-height field to entry event payload 2019-02-20 11:42:06 -07:00
Michael Vines
2cf00021d9 Update golden hash to account for tick_height removal 2019-02-20 07:47:04 -08:00
Michael Vines
8d38c2f800 Remove Entry::tick_height field 2019-02-20 07:47:04 -08:00
Pankaj Garg
19a3606315 Fix broken test, added some tests to calculate tx fee
Some code cleanup
2019-02-20 08:12:37 -07:00
Pankaj Garg
cc2227d943 rename slot_num 2019-02-20 08:12:37 -07:00
Pankaj Garg
a33921ed34 address review comments 2019-02-20 08:12:37 -07:00