Commit Graph

25192 Commits

Author SHA1 Message Date
behzad nouri 293414f482
pads last erasure batch with empty data shreds (#639)
For duplicate blocks prevention we want to verify that the last erasure
batch was sufficiently propagated through turbine. This requires
additional bookkeeping because, depending on the erasure coding schema,
the entire batch might be recovered from only a few coding shreds.

In order to simplify above, this commit instead ensures that the last
erasure batch has >= 32 data shreds so that the batch cannot be
recovered unless 32+ shreds are received from turbine or repair.
2024-04-11 14:50:43 +00:00
Ashwin Sekar 4fc6b0bd96
banking_stage: track VoteStorage size instead of costly iterator (#743)
* banking_stage: track VoteStorage size instead of costly iterator

* missed one

---------

Co-authored-by: steviez <steven@anza.xyz>
2024-04-11 07:16:33 -07:00
Lucas Steuernagel 4e2fc2772b
Add unit test for `add_builtin` (#720) 2024-04-11 11:13:23 -03:00
Brooks 2871c59863
Removes write version from store-tool (#722) 2024-04-11 10:09:36 -04:00
Tyera 9706a64646
Fix typo (#745) 2024-04-10 22:52:51 -06:00
Yihau Chen 0e6d42e613
bump nix to 0.28.0 (#628)
* bump nix to 0.28.0

* enable 'socket' for net-utils

* enable 'signal' for install

* enable 'user' for perf

* enable 'net' for streamer
2024-04-11 12:03:23 +08:00
Ashwin Sekar c4734ad127
vote: plumb TowerSync ix (#584) 2024-04-10 20:33:45 -07:00
ripatel-fd 16efe510cb
Don't panic vote program if epoch number overflows (#730)
Helps with fuzzing

Co-authored-by: Richard Patel <ripatel@jumptrading.com>
2024-04-11 02:56:19 +00:00
Alessandro Decina 55ab7fadbc
quic: use smallvec to aggregate chunks, save 1 alloc per packet (#735)
quic: use smallvec, save one allocation per packet

Use smallvec to hold chunks. Streams are packet-sized so we don't expect
them to have many chunks. This saves us an allocation for each packet.
2024-04-11 12:25:35 +10:00
Alessandro Decina 85c6e412e0
quic: do ordered reads, save 1 BTreeMap allocation per packet (#736)
quic: switch to ordered reads

Unordered reads cause a BTreeMap allocation for each packet inside quinn
in Assembler::ensure_ordering.

Most streams will fit in one datagram and will therefore be ordered by
definition. Switch to ordered reads to avoid the allocation.
2024-04-11 12:25:06 +10:00
Lijun Wang 92ebf0f80c
Treat super low staked as unstaked in streamer QOS (#701)
* Treat super low staked with QOS of unstaked

* simplify

* address some comment from Pankaj
2024-04-10 17:13:41 -06:00
samkim-crypto 006cf28dec
[zk-keygen] Remove deprecated functions (#599)
* add `deprecated` feature to produce warnings on use of deprecated functions

* replace `is_present` with `try_contains_id`

* replace validator functions

* replace `possible_values` with `value_parser`

* replace `value_of` function

* remove `deprecated` feature
2024-04-11 07:52:57 +09:00
Ashwin Sekar 411fdc9312
blockstore: scaffolding for chained merkle root conflict detection (#719)
* blockstore: scaffolding for chained merkle root conflict detection

* pr feedback: use dummy feature key until final plumbing
2024-04-10 22:46:33 +00:00
dmakarov d4fe07c68c
SVM: explain fields of TransactionBatchProcessor struct in spec (#727) 2024-04-10 15:23:27 -07:00
ripatel-fd 4b6d274887
Fix crash if vote state is malformed (#715)
* Fix crash if vote state is malformed

* Fix vote program crash if clock rewinds

Return an instruction error instead of panicking if the vote
program detects the vote program's vote authority history is
newer than the current clock.

---------

Co-authored-by: Richard Patel <ripatel@jumptrading.com>
2024-04-10 17:12:56 -04:00
Andrew Fitzgerald e91a5e2744
default staked client in LocalCluster (#716)
* default staked client in LocalCluster

* fix underflow
2024-04-10 15:33:07 -05:00
dependabot[bot] 51f99727b9
build(deps): bump quote from 1.0.35 to 1.0.36 (#706)
* build(deps): bump quote from 1.0.35 to 1.0.36

Bumps [quote](https://github.com/dtolnay/quote) from 1.0.35 to 1.0.36.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.35...1.0.36)

---
updated-dependencies:
- dependency-name: quote
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* [auto-commit] Update all Cargo lock files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2024-04-10 23:49:56 +08:00
Kevin Heavey ff8a25b97f
svm: move bpf-loader-program to dev-dependencies (#711) 2024-04-10 10:22:51 -05:00
Kevin Heavey d06e3e95cb
program-test: move test-case to dev-dependencies (#710) 2024-04-10 10:22:28 -05:00
behzad nouri d308acdc84
removes feature gated code for dropping legacy shreds (#677) 2024-04-10 14:28:34 +00:00
Jeff Washington (jwash) 9778e489b0
add ScanAccountStorageData (#694) 2024-04-10 09:22:37 -05:00
Justin Starry 72ee270943
Update cargo metadata to Anza (#635) 2024-04-10 14:29:48 +08:00
Tyera dd8e1f4c73
Remove overly restrictive check_account_access for partitioned epoch rewards (#631)
* Remove rewards-interval-related check_account_access implementation

* Move RewardsInterval to tests module

* Update test to new StakeProgram functionality
2024-04-09 21:55:45 -06:00
Jeff Washington (jwash) 4535ea60a9
remove ReadableAccount trait from LoadedAccount (#692) 2024-04-09 22:14:52 -05:00
Jeff Washington (jwash) 0c5d56bd33
pass &LoadedAccount scan_account_storage (#693) 2024-04-09 22:13:10 -05:00
Ashwin Sekar 70c4cb0ba1
consensus: add dev-context-only-utils to tower (#687) 2024-04-09 16:39:57 -07:00
Tyera 2470b45468
Check EpochRewards::active within the Stake Program (#617)
* Add new StakeError variant

* Add closure to return error if EpochRewards::active

* Use error_during_epoch_rewards for Instructions that mutate stake accounts

* Use try instead of manually matching Ok/Err

* Consolidate error_during_epoch_rewards check

* Add new test helper

* Add test demonstrating which ix return StakeError::EpochRewardsActive

* Remove single-use fn
2024-04-09 17:29:50 -06:00
Andrew Fitzgerald 1744e9efd7
BankingStage Forwarding Filter (#685)
* add PacketFlags::FROM_STAKED_NODE

* Only forward packets from staked node

* fix local-cluster test forwarding

* review comment

* tpu_votes get marked as from_staked_node
2024-04-09 23:12:26 +00:00
Lijun Wang 592107a907
corrected to not use hardcoded connections count for unstaked (#633)
* corrected to not use hardcoded connections count for unstaked

* Fixed a math problem on max_unstaked_load_in_throttling_window

* Fixed a unit test failure
2024-04-09 15:20:24 -07:00
Jeff Washington (jwash) d9d11cda4d
break out parameters to hash_account (#691) 2024-04-09 17:03:37 -05:00
Jeff Washington (jwash) f62d79b8be
add `data_len()` to `LoadedAccount` (#689) 2024-04-09 16:32:07 -05:00
Jeff Washington (jwash) 9d700b8749
in get_pubkey_hash_account_for_slot use take_account earlier (#688) 2024-04-09 16:05:46 -05:00
Brooks 4546e79cbc
Fixes nits in streamer perf tracking (#648) 2024-04-09 16:47:18 -04:00
Jeff Washington (jwash) 374705293c
implement get_account_sizes for hot storages (#676) 2024-04-09 15:21:09 -05:00
Lucas Steuernagel 4753a8aefa
Move `add_builtin` to SVM (#547) 2024-04-09 16:55:09 -03:00
Jeff Washington (jwash) 5eab6ae2b5
`purge_slot_storage` doesn't use `scan_account_storage` (#684) 2024-04-09 13:55:00 -05:00
Brooks 87314a5549
Reduces what accounts-db exports publicly (#667) 2024-04-09 14:53:56 -04:00
Jeff Washington (jwash) a2544e434d
implement scan_index for hot storage (#675)
* implement scan-index for

* impl `stored_size` for hot, fix test
2024-04-09 13:29:54 -05:00
Jeff Washington (jwash) 4ed5b4c083
removed LoadedAccount::compute_hash (#683) 2024-04-09 13:29:03 -05:00
dependabot[bot] 4bbd535b08
build(deps): bump ctrlc from 3.4.2 to 3.4.4 (#672)
Bumps [ctrlc](https://github.com/Detegr/rust-ctrlc) from 3.4.2 to 3.4.4.
- [Release notes](https://github.com/Detegr/rust-ctrlc/releases)
- [Commits](https://github.com/Detegr/rust-ctrlc/compare/3.4.2...3.4.4)

---
updated-dependencies:
- dependency-name: ctrlc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 00:49:25 +08:00
Harry Whelchel eacdb2b9db
Fixes typo in validator requirements (#680) 2024-04-09 10:46:53 -05:00
Dmitri Makarov 9552b1ad3c
SVM: Add specification document (#643)
* SVM: Add specification document

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

---------

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>
2024-04-09 07:25:18 -07:00
Jeff Washington (jwash) c0be86d0e1
implement scan_pubkeys for hot storage (#666) 2024-04-09 07:47:26 -05:00
Jeff Washington (jwash) 8e0a55fe64
add file_provider to accounts_db (#665) 2024-04-08 17:58:01 -05:00
Brooks 6fedfe5a4d
Evicts from the accounts read cache in the background (#575) 2024-04-08 17:10:15 -04:00
Lucas Steuernagel e01670135f
Remove `must_replace` parameter from `add_builtin_account` (#662) 2024-04-08 17:57:15 -03:00
Jeff Washington (jwash) b9487f5263
add get_account_sizes (#661) 2024-04-08 15:41:38 -05:00
Jeff Washington (jwash) 294d9d7e50
intset for SlotOffsets (#656) 2024-04-08 15:10:46 -05:00
Joe C caa18a528f
cli tests: correct program data account test check (#660) 2024-04-08 14:52:52 -05:00
HaoranYi 287d0d2582
Remove reclaim param for store_accounts_frozen (#618)
remove reclaim param for store_accounts_frozen

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2024-04-08 14:28:13 -05:00