Commit Graph

20401 Commits

Author SHA1 Message Date
Justin Starry 58e35fad27
Remove explorer preview workflow (#28154) 2022-09-30 06:10:28 +00:00
Justin Starry 9fd80a27ee
Explorer: add explicit dependency on tweetnacl (#28155) 2022-09-30 04:59:15 +00:00
Yihau Chen cc94649d4a
chore: use cargo-ndk@2.11.0 (#28141) 2022-09-30 11:32:23 +08:00
Tao Zhu 82e65593ee
Batch filtering invalid transactions before forwarding (#26798)
- Batch filtering invalid transactions (fail to sanitize, too old or already processed) before forwarding
- Combine packet filtering and forwarding to share sanitized transactions
- `iter_desc` is no longer needed, remove it;
- Add a method to share the logic of removing packets from buffer after they were removed from MinMaxHeap
- Add test coverage for forward_packet_batches_by_accounts
- rebase, resolve conflicts
2022-09-29 16:33:40 -05:00
Jeff Washington (jwash) 80c0173452
width of hash calc bins was off by 1 (#28124) 2022-09-29 11:45:53 -07:00
steviez f38ed1c266
Use more descriptive variable names in blockstore chaining tests (#28131) 2022-09-29 10:24:09 -05:00
Brooks Prumo 12df0f234d
Upgrade to Rust 1.64.0 (#28034) 2022-09-29 09:32:24 -04:00
Justin Starry f3fda4652b
Explorer: Support parsed address lookup table responses (#28137) 2022-09-29 13:08:01 +00:00
Justin Starry 7abc322b41
explorer: Show token delta when token account is closed (#28136) 2022-09-29 12:06:41 +00:00
Justin Starry 816940c263
explorer: bump react-router type deps and fix type errors (#28133) 2022-09-29 08:33:05 +00:00
Justin Starry 2c49bc9a41
explorer: fix fee sign in block transactions table (#28132) 2022-09-29 06:34:31 +00:00
Alessandro Decina 7469ce7ba1
Bump solana_rbpf to 0.2.33 (#28121) 2022-09-28 19:52:19 +01:00
Brooks Prumo e6b237c2e8
eah: Add log in bank (#28110) 2022-09-28 14:45:42 -04:00
Brooks Prumo 48143a78af
local-cluster: Add timeout to wait_for_next_snapshot() (#27941) 2022-09-28 11:21:37 -04:00
Haoran Yi 5b4a669e5f fix typo 2022-09-28 09:48:56 -05:00
Brooks Prumo 4d02292931
Use epoch_accounts_hash::calculation_stop() (#28106) 2022-09-28 09:11:18 -04:00
Yueh-Hsuan Chiang 599677f965
Derive rocksdb_fifo_shred_storage_size based on limit-ledger-size (#27459)
### Problem
When FIFO compaction is used while --rocksdb_fifo_shred_storage_size
is unspecified, the FIFO shred storage size is set to a const default based
on the default `--limit-ledger-size`.

### Summary of the Change
When --rocksdb_fifo_shred_storage_size is unspecified, it is now
derived from `--limit-ledger-size` by reserving 1500 bytes for each
shred.
2022-09-28 00:32:27 -07:00
Yueh-Hsuan Chiang fb6abac4ca
Improve code comment for delete_range_cf (#28087)
#### Summary of Changes
Improve code comment for Blockstore::delete_range_cf esp. for the corner case
where the from Slot and to Slot are the same.
2022-09-27 20:12:08 -07:00
Ashwin Sekar 84acef007c
Add bench test for voting threads (#28031) 2022-09-27 12:12:22 -07:00
Jeff Washington (jwash) a89010cc89
fix duplicate local variable (#28093) 2022-09-27 08:48:05 -07:00
behzad nouri abfaf06e87
counts gossip packets received before excess packets are dropped (#28086)
Currently, gossip packets are counted after excess packets are dropped.
This makes it difficult to debug gossip traffic spikes if the majority
of the packets are dropped.

This commit instead counts gossip packets received before excess packets
are dropped
2022-09-27 13:43:35 +00:00
Yueh-Hsuan Chiang a76258f276
Improve code comments for ledgerstore columns. (#28054)
### Problem
The documentation of each column family is missing

### Summary
The goal is to create a comment block that will essentially include a high-level
concept on what each column family is about and what are their key/value formats.

This PR is the first cut that includes the key/value format of each column family.
This should at least provide an easy pointer for readers to understand what this
column family stores by searching its value type and how to access the data based
on the key type.
2022-09-27 00:31:23 -07:00
Michael Vines df5f9f698f Surface the getVoteAccounts.epochCredits max-length constant in rpc-client-api 2022-09-26 21:58:19 -07:00
Nick Frostbutter c893f92508
[docs] versioned transactions and lookup tables (#28060)
* feat: added versioned transaction and ALT docs

* fix: relocated links and fixed sidebar parser
2022-09-27 07:16:18 +08:00
Jeff Washington (jwash) c7cda6c658
refactor hash calc caching (#27990) 2022-09-26 15:21:47 -07:00
behzad nouri 72537e7e07
bypasses rayon thread-pool for single entry batches (#28077)
With no parallelization, thread-pool only adds overhead.
2022-09-26 21:32:58 +00:00
behzad nouri b9849179c9
bypasses merkle proof verification for recovered merkle shreds (#28076)
Merkle proof for shreds recovered from erasure codes are generated
locally, and it is superfluous to verify them when sanitizing recovered
shreds:
https://github.com/solana-labs/solana/blob/a0f49c2e4/ledger/src/shred/merkle.rs#L727-L760
2022-09-26 21:28:15 +00:00
Jeff Biseda 8b0f9b4917
make ping cache rate limit delay configurable (#27955) 2022-09-26 14:16:56 -07:00
apfitzge cdb95a362f
update upacking thread names (#28081)
* update upacking thread names

* remove - add ht
2022-09-26 14:51:31 -05:00
Richard Patel 657d8322a7
explorer: add Wormhole program IDs (#28075)
Source: https://docs.wormhole.com/wormhole/contracts
2022-09-27 02:42:19 +08:00
Jeff Washington (jwash) 1aa9c57a41
hash cache get_slice (#28018) 2022-09-26 09:30:20 -07:00
Justin Starry a0f49c2e4f
Add assertions for computed block cost limit constants (#28056) 2022-09-26 12:50:31 +00:00
Justin Starry 242bd9be0d
Explorer: Remove unused assets (#28074) 2022-09-26 11:47:49 +00:00
Justin Starry fa0509cdd1
Explorer: Split off devDependencies from dependencies (#28073) 2022-09-26 11:45:55 +00:00
Justin Starry 874fbcb9d4
Explorer: Split out `SolBalance` component from utils (#28072)
Explorer: Split out SolBalance component from utils
2022-09-26 09:25:15 +00:00
Alexander Meißner 71aee4fcaf
Feature: Explicitly limit `TransactionContext::instruction_trace_capacity` (#27938)
* Renames instruction_stack_capacity => instruction_stack_capacity.

* Replaces number_of_instructions_at_transaction_level by instruction_trace_capacity.

* Adds MaxInstructionTraceLengthExceeded.

* Adjusts TransactionContext::new() parameter.

* Adds feature gate limit_max_instruction_trace_length.

* Adds test_max_instruction_trace_length().
2022-09-26 10:47:16 +02:00
Jeff Washington (jwash) de7a5f2c68
get rid of unnecessary mut (#28017) 2022-09-25 18:39:02 -07:00
behzad nouri f49beb0cbc
caches reed-solomon encoder/decoder instance (#27510)
ReedSolomon::new(...) initializes a matrix and a data-decode-matrix cache:
https://github.com/rust-rse/reed-solomon-erasure/blob/273ebbced/src/core.rs#L460-L466

In order to cache this computation, this commit caches the reed-solomon
encoder/decoder instance for each (data_shards, parity_shards) pair.
2022-09-25 18:09:47 +00:00
Jeff Biseda 9816c94d7e
metrics to distinguish why repair packets are dropped (#27960) 2022-09-24 23:20:05 -07:00
Tyera Eulberg 060ecf9cdb
Revert "chore: bump serde_yaml from 0.8.26 to 0.9.13 (#27970)" (#28055)
This reverts commit da9206fb87.
2022-09-25 04:49:11 +00:00
Brendan Kirby e0a10eb017
RELEASE.md cleanup (#28007)
README cleanup
2022-09-24 20:30:25 -06:00
Jeff Biseda 8b43215ddd
count unsigned repair requests (#27953) 2022-09-24 12:56:02 -07:00
behzad nouri 45e26574f3
removes redundant shred.sanitize() from blockstore (#28016)
Shreds received from other nodes over the socket are sanitized when the
payload is deserialized:
https://github.com/solana-labs/solana/blob/315707504/ledger/src/shred/legacy.rs#L137
https://github.com/solana-labs/solana/blob/315707504/ledger/src/shred/legacy.rs#L77
https://github.com/solana-labs/solana/blob/315707504/ledger/src/shred/merkle.rs#L355
https://github.com/solana-labs/solana/blob/315707504/ledger/src/shred/merkle.rs#L439

Similarly, shreds recovered from erasure codes are also sanitized at
deserialization:
https://github.com/solana-labs/solana/blob/f02fe9c7e/ledger/src/shredder.rs#L330
or explicitly so for Merkle shreds:
https://github.com/solana-labs/solana/blob/f02fe9c7e/ledger/src/shred/merkle.rs#L753

Shreds generated locally by the node itself during its leader slots do
not need to be sanitized.

So sanitizing shreds in blockstore is redundant and wasteful. In
particular this becomes more wasteful with Merkle shreds because
sanitizing shreds would require verifying Merkle proof.
As such the commit removes redundant shred.sanitize() from blockstore.
2022-09-24 16:31:50 +00:00
behzad nouri f02fe9c7e7
updates reed-solomon-erasure crate version to 6.0.0 (#28033)
Need to pick up:
https://github.com/rust-rse/reed-solomon-erasure/pull/104
in order to unblock:
https://github.com/solana-labs/solana/pull/27510
2022-09-24 15:00:13 +00:00
Justin Starry b93392cfca
Explorer: Support displaying and inspecting versioned transactions (#27825)
* Explorer: Bump @solana/web3.js to v1.63.1

* Explorer: Support displaying and inspecting versioned transactions
2022-09-24 07:10:14 +00:00
Justin Starry 7810387b00
fix: improve `MessageV0.getAccountKeys` API ergonomics (#28042)
fix: improve MessageV0.getAccountKeys API flexibility
2022-09-24 05:37:58 +00:00
Justin Starry e85900e094
Explorer: Fix balance delta display (#28041) 2022-09-24 05:20:48 +00:00
Justin Starry 22b966be76
Explorer: replace usages of bn.js with BigInt (#28040) 2022-09-24 05:05:41 +00:00
Alessandro Decina b9f4c8e3c0
BorrowedAccount: add set_data_from_slice(), make set_data() take owned values (#27836)
* BorrowedAccount: add set_data_from_slice(), make set_data() take owned values

set_data() used to take a slice and would force alloc+copy if the caller
has owned values (eg account creation, account lookup table).

Expose set_data_from_slice() for callers that have slices, and switch
set_data() to taking an owned Vec.

* BorrowAccount: refactor common accounts_update_delta code in helper method

* BorrowedAccount: add extend_from_slice()

This allows avoiding copies appending entries to account lookup tables.

* BorrowedAccount: remove unnecessary ifs around update_accounts_resize_delta
2022-09-24 01:37:02 +01:00
Tao Zhu e51cf46d6b
Remove priority from vote transactions (#28030)
vote transactions have same priority fee
2022-09-24 00:31:50 +00:00