Commit Graph

4392 Commits

Author SHA1 Message Date
b9bb92099e Go object-oriented
Easy to imagine a trait here that's implemented using a Bank or
a testnet.
2019-02-19 10:59:06 -07:00
64dcc31ac7 Migrate Rewards test from runtime to Bank 2019-02-19 10:59:06 -07:00
36546b4c4c Expose a Bank API for adding native programs
Also use it to tighten up the code to add the builtin programs.
2019-02-19 10:20:27 -07:00
dde886f058 Move Bank to its own crate
Also:
* counters.rs to solana_metrics
* genesis_block.rs to solana_sdk
2019-02-19 07:17:04 -07:00
781f7ef570 fix test_repair_empty_slot 2019-02-18 23:38:28 -08:00
3e8bb32ffd Add test for write_entries() 2019-02-18 23:38:28 -08:00
df310641fb Re-enable and add tests 2019-02-18 23:38:28 -08:00
21ef55f205 re-enable repair service tests 2019-02-18 23:38:28 -08:00
ade36566ea i 2019-02-18 21:56:23 -08:00
08d7a0d52d Upgrade to Rust 1.32.0
$ rustup update stable
2019-02-18 21:44:09 -07:00
1fd2885995 Add missing - 2019-02-18 20:09:18 -08:00
d357640fbf Centralize decentralized timing constants 2019-02-18 19:46:58 -08:00
ad9cd23202 Notify subscribers from ReplayStage 2019-02-18 20:04:30 -07:00
5916177dc8 Drop RpcPubSubService's dependency on the Bank
Pass in RpcSubscriptions instead, which let's you choose a
bank fork when it's time to send notifications.
2019-02-18 20:04:30 -07:00
905b1e2775 Add notify_subscribers() 2019-02-18 20:04:30 -07:00
377d45c9dd Pull RpcSubscriptions out of the Bank 2019-02-18 20:04:30 -07:00
a444cac2aa Switch to upstream AMIs for non-CUDA EC2 testnets 2019-02-18 18:59:56 -08:00
1e714eb6b2 Generate ec2 security group programmatically 2019-02-18 18:59:56 -08:00
3f14466965 Limit blockexplorer versions to 1.x.y
Per semver semantics when blockexplorer 2.0.0 is released it will be
incompatible in some way with 1.x.y and thus should be opt in.
2019-02-18 16:48:33 -08:00
e0b8f4202d Use slot height for BankForks ids 2019-02-18 17:27:20 -07:00
11b14bd3ab Bump reqwest from 0.9.9 to 0.9.10
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.9.9 to 0.9.10.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.9.9...v0.9.10)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-18 13:28:55 -07:00
90684483e2 Make Bank::hash_internal_state() work with checkpoints 2019-02-18 12:47:10 -07:00
760a82cb08 Add optional deploy of custom programs (#2817)
* Add optional deploy of custom programs

* Review comments
2019-02-18 11:43:36 -07:00
0317583489 Move avalanche logic to ClusterInfo
The simulator doesn't depend on RetransmitStage. It depends on
just one function, which is similar in spirit to many of the
methods in ClusterInfo.
2019-02-18 09:08:18 -08:00
1c3f2bba6d Move avalanche simulator to integration tests 2019-02-18 09:08:18 -08:00
7d62bf9a3d Move crds_gossip simulator to integration tests 2019-02-18 09:55:52 -07:00
7c248cd2ef Move expensive test to integration tests
This test passes consistently when the test suite is run with a
single thread. It fails consistently on MacOS when run as part
of the unit-test suite.

No idea why it passes in CI.
2019-02-18 09:27:23 -07:00
e4119268ca Delete expensive integration test in unit-test suite 2019-02-18 09:27:09 -07:00
fc2760e761 Remove bank dependency from poh_recorder (#2810)
* Remove bank dependency from poh_recorder

* clippy
2019-02-18 06:33:07 -08:00
c57084de36 Ignore test_two_fullnodes_rotate integration tests 2019-02-18 06:19:46 -08:00
907aff3b43 Cleanup Poh code 2019-02-17 21:12:55 -07:00
2793404116 Ensure blockexplorer comes back up when nodes are updated instead of restarted 2019-02-17 20:07:12 -08:00
d850f67979 Remove 'Compute' from name ComputeLeaderConfirmationService
struct names should be a noun
2019-02-17 19:44:09 -08:00
8080063024 nit 2019-02-17 19:30:45 -07:00
f33c6eb95f delete leader rotation signal from banking stage 2019-02-17 19:30:45 -07:00
4e3d71c2c9 Batch joins on entire tpumode struct instead of individual services 2019-02-17 19:30:23 -07:00
a074cb78cd Ensure leader services are closed before starting new ones 2019-02-17 19:30:23 -07:00
0dbc33f781 Finish removing getConfirmationTime 2019-02-17 16:27:50 -08:00
25bbc3bc2a wrong error 2019-02-17 15:43:13 -08:00
5f55a9be84 fmt 2019-02-17 15:43:13 -08:00
300e3d151d remove the signal sender since its superfelous to a recv error 2019-02-17 15:43:13 -08:00
2f7911b62a Boot BankError::MaxHeightReached 2019-02-17 16:30:01 -07:00
54dfe708c1 use ref for new_from_parent; test that transactions don't leak to parent 2019-02-17 15:02:08 -07:00
8166925f04 copy a new bank 2019-02-17 15:02:08 -07:00
64f1d93cc3 Use the accounts list from parents up to finalized bank for Account::load apis.
Borrow checker

query the previous parents accounts

cleanup!

s/tree/parents

Tests!  Last_ids need to be inherited as well otherwise nothing works.

new_from_parent
2019-02-17 15:02:08 -07:00
6d67568037 Delete useless wrappers 2019-02-17 14:10:34 -07:00
5003e97479 Inline private functions
Better code coverage in exchange for calling `create_session()`
2019-02-17 14:10:34 -07:00
858068cdc0 Drop sudo, it's now handled internally by the block explorer 2019-02-17 12:29:53 -08:00
65fb307d0f Avoid '' argument to fullnode.sh 2019-02-17 11:43:41 -08:00
2f1fe726f5 Expand imports
tokio is a heavy dependency. This gives us some visibility into
what we're using.
2019-02-17 12:20:05 -07:00