rolls out chained Merkle shreds to ~50% of testnet slots (#2660)
(cherry picked from commit f2b7ef4aea)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* Update index.mdx (#2238)
(cherry picked from commit 49de5431a4)
* Update index.mdx
---------
Co-authored-by: Rex St. John | Anza <160657826+rexstjohn-anza@users.noreply.github.com>
RPC: rewards, return error if epoch_boundary_block is a lie (#2758)
* Return error if epoch_boundary_block is not actually the epoch boundary block
* Update rpc-client-api/src/custom_error.rs
Co-authored-by: Trent Nelson <490004+t-nelson@users.noreply.github.com>
---------
Co-authored-by: Trent Nelson <490004+t-nelson@users.noreply.github.com>
(cherry picked from commit 9a4b094ded)
Co-authored-by: Tyera <tyera@anza.xyz>
gossip: demote invalid duplicate proof errors to info (#2754)
* gossip: demote invalid duplicate proof errors to info
* pr feedback: explicitly list every enum
(cherry picked from commit 7b6e6c179f)
Co-authored-by: Ashwin Sekar <ashwin@anza.xyz>
* customizes override logic for gossip ContactInfo (#2579)
If there are two running instances of the same node, we want the
ContactInfo with more recent start time to be propagated through
gossip regardless of wallclocks.
The commit adds custom override logic for ContactInfo to first compare
by outset timestamp.
* updates ContactInfo.outset when hot-swapping identity (#2613)
When hot-swapping identity, ContactInfo.outset should be updated so that
the new ContactInfo overrides older node with the same pubkey.
* patches bug causing false duplicate nodes error (#2666)
The bootstrap code during the validator start pushes a contact-info with
more recent timestamp to gossip. If the node is staked the contact-info
lingers in gossip causing false duplicate node instances when the fully
initialized node joins gossip later on.
The commit refreshes the timestamp on contact-info so that it overrides
the one pushed by bootstrap and avoid false duplicates error.
---------
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
Check poh_recorder.start_slot() hasn't been dumped previously before checking it in ProgressMap. (#2676)
* Check poh_recorder.start_slot() hasn't been dumped previously before checking it in progress_map.
* Add more comments and put in checks for maybe_start_leader.
* Update core/src/replay_stage.rs
Co-authored-by: Ashwin Sekar <ashwin@solana.com>
* Use a slot which I am not leader to avoid dumping my own slot panic.
* Address reviewer comments.
* Address reviewer comments.
---------
Co-authored-by: Ashwin Sekar <ashwin@solana.com>
(cherry picked from commit 053faa6a29)
Co-authored-by: Wen <113942165+wen-coding@users.noreply.github.com>
Bound default value for thread pool args (#2599)
The thread pool argument trait declares min/max/default functions. These
functions are then called to provide a default as well as validation
that any user set value on the CLI is within [min(), max()].
Some of the default values are fixed numbers. On a machine with few
enough cores, the default could exceed the max. This would raise an
error when the argument is parsed. This can be worked around by the user
specifying a lower value; however, these flags are still very much
experimental and intentionally hidden.
So, make the default value that is passed to CLAP the min of default()
and max(). This will adjust the default on low core count machines while
leaving settings on sufficient machines untouched.
(cherry picked from commit 094a63476c)
Co-authored-by: steviez <steven@anza.xyz>
Runtime: Core BPF Migration: Add checks for executable program account (#2483)
* Runtime: Core BPF: check `executable` on program load
* Runtime: Core BPF: set `executable` on migration
(cherry picked from commit 33119c5df7)
Co-authored-by: Joe C <joe.caulfield@anza.xyz>
* CI: Disable downstream anchor builds (#2629)
#### Problem
With https://github.com/solana-labs/solana-program-library/pull/7148,
spl-token-2022 has moved from using solana-zk-token-sdk to
solana-zk-sdk, which is a major breaking change. Certain agave and
anchor crates are depending on the re-export solana-zk-token-sdk in
spl-token-2022, which is no longer present. This change is causing the
downstream Anchor job to fail, since the patched version of
spl-token-2022 is no longer compatible.
#### Summary of changes
Until new major versions of the SPL crates are available used by the
Agave monorepo, disable the downstream anchor job.
(cherry picked from commit 3b9e7a3ca5)
# Conflicts:
# .github/workflows/downstream-project-anchor.yml
* Fix merge conflicts
---------
Co-authored-by: Jon C <me@jonc.dev>
* replay: do not start leader for a block we already have shreds for (#2416)
* replay: do not start leader for a block we already have shreds for
* pr feedback: comment, move existing check to blockstore fn
* move blockstore read after tick height check
* pr feedback: resuse blockstore fn in next_leader_slot
(cherry picked from commit 15dbe7fb0f)
# Conflicts:
# poh/src/poh_recorder.rs
* fix conflicts
---------
Co-authored-by: Ashwin Sekar <ashwin@anza.xyz>
Co-authored-by: Ashwin Sekar <ashwin@solana.com>
* checks for duplicate instances using the new ContactInfo (#2506)
Working towards deprecating NodeInstance CRDS value, the commit adds
check for duplicate instances using the new ContactInfo.
(cherry picked from commit 1d825df4e1)
* removes unwarp
---------
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
rolls out chained Merkle shreds to ~21% of testnet slots (#2503)
(cherry picked from commit ea10d2e534)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
EpochRewards: decode points and rewards fields as Strings (#2501)
Decode points and rewards fields as Strings
(cherry picked from commit 605acd118f)
Co-authored-by: Tyera <tyera@anza.xyz>
Bump platform tools version to v1.42 (#2355)
(cherry picked from commit fb80e48fb0)
Co-authored-by: Lucas Ste <38472950+LucasSte@users.noreply.github.com>
* Cleanup PoH speed check logs and error
The current logging and error message from the Poh speed check are
confusing. If the node fails, the error message states that the node is
too slow. But, the reported numbers are slot durations in nanoseconds
where a slower node will have a larger number. Lastly, the reported
numbers aren't labeled with a unit so it is hard to make sense of this
without looking at the actual code.
The check now computes and reports hashes per second.
(cherry picked from commit ecc05c50b8)
# Conflicts:
# core/src/validator.rs
* merge conflicts
---------
Co-authored-by: steviez <steven@anza.xyz>
Add removed line from PR1192 (#2249)
* Add removed line from PR1192
* Test missing programs were loaded
(cherry picked from commit b14f1037bb)
Co-authored-by: asolana <110843012+ksolana@users.noreply.github.com>
[ed25519] Use `verify_strict` for signature verification in ed25519 precompile (#1876)
* use `verify_strict` for signature verification in ed25519 precompile
* add test
* clippy
* increase ed25519 precompile cost constant by 5%
* put ed25519 strict verification cost change under feature gate
---------
Co-authored-by: Emanuele Cesena <ecesena@jumptrading.com>
(cherry picked from commit ddda6c30a3)
Co-authored-by: samkim-crypto <skim13@cs.stanford.edu>