ed684c5ec6
Build docker image with rust 1.32
2019-02-25 09:16:11 -08:00
2fbdec59cb
Generalize access to staked nodes
2019-02-25 08:49:43 -08:00
710f88edda
Handle edge cases earlier
...
We have lots of tests that work off genesis block. Also, one
might want to generate a future leader schedule under the assumption
the stakers stay the same.
2019-02-25 08:49:43 -08:00
db899a2813
Inline LeaderSchedule::new_from_bank()
...
Breaks circular dependency and offers more flexibility in bank's
usage.
2019-02-25 08:49:43 -08:00
aad0d90fdd
Use epoch_height to generate schedule instead of last_id
...
I had suggested the last_id, but that puts an unnecessary dependency
on LastIdsQueue. Using epoch height is pretty interesting in that
given the same set of stakers, you simply increment the seed once
per epoch.
Also, tighten up the LeaderSchedule code.
2019-02-25 08:49:43 -08:00
72b4834446
Add Bank::prev_slot_leader() and Bank::next_slot_leader()
2019-02-25 08:49:43 -08:00
ec48c58df1
Award tx fees to validators in new leader schedule
...
Also, generalize the leader_schedule functions a bit to allow for
prev_slot_leader and next_slot_leader, should they be needed.
2019-02-25 08:49:43 -08:00
0947ec59c9
Expose the new leader schedule functionality from the bank.
2019-02-25 08:49:43 -08:00
d67211305c
Ignore slow benchmarks
2019-02-24 23:15:05 -07:00
c65046e1a2
Use PohRecorder as the Poh synchronization point. ( #2926 )
...
Cleanup poh_recorder and poh_service.
* ticks are sent only if poh.tick_height > WorkingBank::min_tick_height and <= WorkingBank::max_tick_height
* entries are recorded only if poh.tick_height >= WorkingBank::min_tick_height and < WorkingBank::max_tick_height
2019-02-24 08:59:49 -08:00
ba7d121724
Switch to Bank::staked_nodes(); want node_id, not staker_id
...
Also, update LeaderScheduler's code to use node_id as well.
Unfortuntely, no unit tests for this, because there's currently
only one way to set staker_id/node_id, and they are both set
to the same value.
2019-02-24 07:52:44 -07:00
a1070e9572
Split ActiveStakers over Bank and LeaderScheduler
2019-02-24 07:52:44 -07:00
f89e83ae49
Delete redundant code
2019-02-23 16:09:00 -08:00
264f502ed7
Query the bank for the current slot leader
2019-02-23 15:51:37 -07:00
c5876ddca9
Make LeaderScheduler::new_with_window_len private
...
It's useful for unit-testing, but generally isn't a variable
validators should be modifying. Blockstream and BlockstreamService
were the only ones using it. Switching them from a hard-coded 10
to the default didn't cause any test failures, so running with it.
2019-02-23 14:48:27 -07:00
fdf6cae6fb
Use bank for leader scheduler's config
...
This ensures GenesisBlock is always configured with the same
ticks_per_slot as LeaderScheduler. This will make it easier
to migrate to bank-generated schedules.
2019-02-23 14:48:27 -07:00
d26f836212
tmp_copy_ledger -> tmp_copy_blocktree
2019-02-23 08:32:05 -07:00
da98982732
Deprecate tmp_copy_ledger
...
This should allow us to get rid of all the manual routing of
ticks_per_slot in the test suite.
2019-02-23 07:57:45 -07:00
cc10e84ab7
sample_ledger -> sample_blocktree
2019-02-23 07:08:11 -07:00
6cd91cd7ec
Hold slots_per_epoch, not ticks_per_epoch
...
Same as bank and less invariants to check
2019-02-22 22:02:23 -07:00
e19dbdc527
Use Bank for ticks_per_slot
2019-02-22 22:02:23 -07:00
0b8809da6e
Fix duplicated path to fullnode
...
Fixes flaky tests.
2019-02-22 16:35:40 -08:00
35aefdf1db
Reduce test noise ( #2907 )
2019-02-22 16:27:19 -08:00
66891d9d4e
Don't use global storage account
...
Other accounts would not be able to modify the system accounts userdata.
2019-02-22 15:59:55 -08:00
6bca577d6d
Bump libc from 0.2.48 to 0.2.49
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.48 to 0.2.49.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/commits )
Signed-off-by: dependabot[bot] <support@dependabot.com >
2019-02-22 16:45:14 -07:00
f5400ccefc
Ignore storage test
...
@sakridge is working on a fix.
2019-02-22 16:18:10 -07:00
a56d717ea8
Add a check that shows why the storage program is failing
2019-02-22 16:18:10 -07:00
11c7aab023
Add some unit-tests
2019-02-22 16:18:10 -07:00
5541eedcc4
Reject modifications to userdata if not owned by the program
2019-02-22 16:18:10 -07:00
77ea4cd285
Reapply dependency Band-aid to make CI happy
2019-02-22 15:56:07 -07:00
8353b420d1
Move blocktree-oriented diagram out of proposals
2019-02-22 15:24:36 -07:00
71602fe04b
Fix root package dependencies ( #2899 )
2019-02-22 14:08:25 -08:00
054c12ea0f
Bump hex-literal from 0.1.2 to 0.1.3
...
Bumps [hex-literal](https://github.com/RustCrypto/utils ) from 0.1.2 to 0.1.3.
- [Release notes](https://github.com/RustCrypto/utils/releases )
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.1.2...hex-literal-v0.1.3 )
Signed-off-by: dependabot[bot] <support@dependabot.com >
2019-02-22 13:47:55 -07:00
0003dbf3ba
remove unnecessary imports
2019-02-22 12:13:05 -08:00
c07b6c30a1
Remove special casing of ProgramError in blocktree processor
...
- Also refactor bank.rs and add unit tests
2019-02-22 12:13:05 -08:00
bad48ce83c
Split replicator doc into what is implemented and what is not
2019-02-22 13:12:49 -07:00
2d03ae2fae
Migrate fullnode to create_tmp_sample_blocktree
2019-02-22 11:18:01 -07:00
3a7008949f
Build all deps ( #2896 )
2019-02-22 09:49:25 -08:00
973ad7554e
Remove superfluous GenesisBlock::load()
2019-02-22 08:41:59 -08:00
3be154490d
Deprecate create_tmp_sample_ledger
2019-02-22 00:24:46 -07:00
3610768888
Run featurized tests on sub-packages ( #2867 )
2019-02-21 22:38:36 -08:00
4602d3bf46
Unit-tests can use ordinary keypairs
2019-02-21 22:01:20 -08:00
778583ad08
Inline BlockConfig::ticks_per_slot
2019-02-21 20:37:21 -08:00
fb904e7a29
Enable CUDA persistence mode to reduce surprises
2019-02-21 19:25:17 -08:00
b501090443
Route BankForks into the ReplayStage
2019-02-21 19:25:17 -08:00
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
3e8d96a95b
fix failing tests
2019-02-21 16:35:23 -08:00
9713a3ac02
fix clippy warnings
2019-02-21 16:35:23 -08:00
5c9777970d
moved fee collection code to runtime
2019-02-21 16:35:23 -08:00
c142a82ae0
Charge transaction fee even in case of ProgramError
2019-02-21 16:35:23 -08:00