2355 Commits

Author SHA1 Message Date
4e4a21f9b7 solana-gossip spy can now specify a shred version (#10040) 2020-05-13 19:37:40 -07:00
cf8eb7700b Add AVX2 runtime checks (#10033)
automerge
2020-05-13 12:19:22 -07:00
ee7f15eff1 Rpc: optionally filter getLargestAccounts by circulating/nonCirculating (#10007)
* Add circ/non-circ filter to getLargestAccounts

* Plumb largest accounts into client and cli

* Bump timeout toward CI flakiness

* Update docs
2020-05-12 21:05:05 -06:00
a9b82cf95b Enable disk metrics (#10009) 2020-05-12 15:24:39 -07:00
59de1b3b62 Compute Switch Threshold (#9218)
* Add switching threshold check

Co-authored-by: Carl <carl@solana.com>
2020-05-11 22:20:11 -07:00
84b6120983 getClusterNodes RPC API now includes the node software version (#9990) 2020-05-11 21:30:01 -07:00
2521f75c18 Advertise node software version in gossip (#9981)
* Advertise node version in gossip

* Remove solana_clap_utils::version! macro
2020-05-11 15:02:01 -07:00
965204b8e0 Check slot cleaned up for RPC blockstore/slot queries (#9982)
automerge
2020-05-11 14:47:40 -07:00
903a8a3196 Add retransmit packets_by_slot metrics (#9975) 2020-05-11 13:49:10 -07:00
1a47b1cd86 Retransmit and shred fetch metrics (#9965)
* Retransmit stats

* Shred fetch stats
2020-05-10 21:37:05 -07:00
3ee702a922 Rpc: Add getCirculatingSupply endpoint, redux (#9953)
* Add Bank.clock() helper

* Add non-circulating calculations

* Plumb getSupply rpc endpoint

* Add docs for getSupply, and remove getTotalSupply from docs

* Add pubkeys! procedural macro

* Use procedural macro in non_circulating_supply
2020-05-09 12:05:29 -06:00
f98bfda6f9 Security changes (#9923)
* Move test-only functions to test modules

* Remove sigverify disable

* Remove chacha CTR code
2020-05-08 10:00:23 -07:00
01ab1d1369 Add metrics for logging time taken in replaystage steps (#9933)
automerge
2020-05-08 03:46:29 -07:00
e970c58330 Properly handle ancestor/descendant maps (#9932)
* Account for descendants < root not existing in BankForks, purge ancestors/descendants map for consistency with BankForks and progress map


Co-authored-by: Carl <carl@solana.com>
2020-05-07 23:39:57 -07:00
754c65c066 Refactor RPC subscriptions account handling (#9888)
* Switch subscriptions to use commitment instead of confirmations

* Add bank method to return account and last-modified slot

* Add last_modified_slot to subscription data and use to filter account subscriptions

* Update tests to non-zero last_notified_slot

* Add accounts subscriptions to test; fails at higher tx load

* Pass BankForks to RpcSubscriptions

* Use BankForks on add_account_subscription to properly initialize last_notified_slot

* Bundle subscriptions

* Check for non-equality

* Use commitment to initialize last_notified_slot; revert context.slot chage
2020-05-07 00:23:06 -06:00
445e6668c2 Fix (#9896)
Co-authored-by: Carl <carl@solana.com>
2020-05-06 11:44:49 -07:00
09ae61651a Eliminate BankForksInfo (#9887) 2020-05-06 08:24:59 -07:00
16ddd001f6 Gossip no longer pushes/pulls from nodes with a different shred version (#9868) 2020-05-05 20:15:19 -07:00
72312ad615 Avoid holding the entire rooted path while loading bank forks (#9885) 2020-05-05 19:45:41 -07:00
3442f36f8a Repair alternate versions of dead slots (#9805)
Co-authored-by: Carl <carl@solana.com>
2020-05-05 14:07:21 -07:00
627bc7e3a9 Rpc: Filter blockstore data by cluster-confirmed root (#9873)
automerge
2020-05-04 18:39:27 -07:00
f5b0d13f08 Rpc: add getLargestAccounts endpoint (#9869)
automerge
2020-05-04 16:46:10 -07:00
6deaf649ef Add commitment Root variant, and add fleshed out --commitment arg to Cli (#9806)
automerge
2020-04-29 21:55:33 -07:00
a91236012d Pass around --max-genesis-archive-unpacked-size (#9161)
automerge
2020-04-29 18:53:34 -07:00
a0514eb2ae thiserror, docs, remove general Failure case (#9741)
automerge
2020-04-29 18:12:51 -07:00
230df0ec0c Upgrade to Rust 1.43.0 (#9754) 2020-04-29 18:02:05 -07:00
efb4988d10 Rpc: remove unwraps (#9793)
automerge
2020-04-29 12:06:09 -07:00
9d91cca73c Remove commented code 2020-04-28 15:47:41 -06:00
655e3bc418 Rpc: Use cluster largest_confirmed_root as commitment max (#9750)
automerge
2020-04-28 10:20:43 -07:00
a12428a5b8 Use Blockstore lowest_slot to start root iterator (#9738) 2020-04-28 10:22:10 -06:00
193dbb1794 sanitize lowest slots (#9747) 2020-04-27 20:22:30 -07:00
c11abf88b7 Clean up use to keep rust 1.43.0 from complaining (#9740) 2020-04-27 16:54:11 -07:00
8ef097bf6f Input values are not sanitized after they are deserialized, making it far too easy for Leo to earn SOL (#9706)
* sanitize gossip protocol messages
* sanitize transactions
* crds protocol sanitize
2020-04-27 11:06:00 -07:00
a7f33b5014 Cache banks in BankForks until optional largest_confirmed_root (#9678)
automerge
2020-04-24 15:49:57 -07:00
fa20963b93 Revert shred fs (#9712)
* Revert "Untar is called for shred archives that do not exist. (#9565)"

This reverts commit 729cb5eec6.

* Revert "Dont insert shred payload into rocksdb (#9366)"

This reverts commit 5ed39de8c5.
2020-04-24 15:04:23 -07:00
76b1c2baf0 One less alloc per transaction (#9705)
* One less alloc per transaction

* Fix benches

* Fix compiler warnings in bench build

* Fix move build

* Fix bench
2020-04-24 13:03:46 -06:00
767a0f9384 Fix comment in serve_repair (#9703)
automerge
2020-04-24 10:00:23 -07:00
79829c98db Fix vote listener passing bad transactions (#9694) 2020-04-23 17:04:09 -07:00
d1cbccd9ba solana-dos can now DoS gossip nodes (#9652)
automerge
2020-04-23 11:46:12 -07:00
5d2f488004 Add getLowestNonpurgedBlock rpc; use blockstore api in getConfirmedBlocks (#9656)
automerge
2020-04-22 13:33:06 -07:00
d5abff82e0 Add largest_confirmed_root to BlockCommitmentCache (#9640)
* Add largest_confirmed_root to BlockCommitmentCache

* clippy

* Add blockstore to BlockCommitmentCache to check root

* Add rooted_stake helper fn and test

* Nodes that are behind should correctly id confirmed roots

* Simplify rooted_stake collector
2020-04-22 12:22:09 -06:00
2e8349196e Custom epochslots debug (#9647) 2020-04-22 08:55:08 -07:00
bab3502260 Push down cluster_info lock (#9594)
* Push down cluster_info lock

* Rework budget decrement

Co-authored-by: Carl <carl@solana.com>
2020-04-21 12:54:45 -07:00
ad186b8652 Flag test_tvu_exit as serial to hopefully reduce CI flakiness (#9509) 2020-04-21 12:54:16 -07:00
3023691487 RPC: Allow single slot address history queries (#9630) 2020-04-22 01:08:06 +08:00
18cba86f77 Wait for supermajority of cluster to have rooted a transaction to consider it finalized (#9618)
* Add rooted stake to BlockCommitment

* Use rooted stake to include cluster check
2020-04-20 23:25:49 -06:00
914b022663 cli: Add transaction-history (#9614)
automerge
2020-04-20 22:01:09 -07:00
8a69ea971f test 2020-04-20 08:44:39 -07:00
77fb4230d6 Calculate distance between u64 without overflow (#9592)
* fix overflow

* fixed num_live_peers overflow
2020-04-19 23:05:26 -07:00
1607891b29 log proper slot (#9576)
Co-authored-by: Carl <carl@solana.com>
2020-04-19 14:24:45 -07:00