* feat: introduce get_inflation_reward rpc call
* fix: style suggestions
* fix: more style changes and match how other rpc functions are defined
* feat: get reward for a single epoch
* feat: default to the most recent epoch
* fix: don't factor out get_confirmed_block
* style: introduce from impl for RpcEncodingConfigWrapper
* style: bring commitment into variable
* feat: support multiple pubkeys for get_inflation_reward
* feat: add get_inflation_reward to rpc client
* feat: return rewards in order
* fix: rename pubkeys to addresses
* docs: introduce jsonrpc docs for get_inflation_reward
* style: early return in map (not sure which is more idiomatic)
* fix: call the rpc client function args addresses as well
* fix: style
* fix: filter out only addresses we care about
* style: make this more idiomatic
* fix: change rpc client epoch to optional and include some docs edits
* feat: filter out rent rewards in get_inflation_reward
* feat: add option epoch config param to get_inflation_reward
* feat: rpc client get_inflation_reward takes epoch instead of config and some filter staking and voting rewards
* issue #10831: added --with-memo option to all cli commands that submit
transactions. Also, improve the block command to show UTF-8 string instead
of integer values for memo program data.
* Fixed tests and changed some syntax according to feedback.
* Use spl_memo id (all versions where applicable) instead of hardcoding id.
* Update Cargo.toml in programs/bpf.
* Update formatting via cargo fmt.
* Update to use spl_memo version 3.0.1, which simplifies package imports
* Update blockstore method to allow return of unfinalized signature
* Support confirmed sigs in getConfirmedSignaturesForAddress2
* Add deprecated comments
* Update docs
* Enable confirmed transaction-history in cli
* Return real confirmation_status; fill in not-yet-finalized block time if possible
* Implement mnemonic support for solana-keygen grind (solana-labs#9325)
* Updated to include feedback from review.
* Renaming as per review feedback
* Fixed an incorrectly transcribed underscore
* Properly re-use string constants.
* Add rpc confirmed-block config wrapper to support struct of extended config
* Update docs
* Make config wrapper generic and use in getConfirmedTransaction as well
* Update/clean confirmed-tx docs
* Document AppendVec
* Remove the almost-duplicate state in AppendVec
AppendVec was maintaining two offsets, `current_len` and
`append_offset`. Despite the different looking names, the two
values have the same meaning, but were updated at slightly different
times. When appending a batch of accounts, `current_len` updates would
be immediately available to other threads after each append, whereas
`append_offset` would only be updated after its mutex was unlocked.
`append_offset` is redundant. By removing it, we eliminate potential
bugs and no longer need to suppress clippy warnings.
* Remove get_mut() from AppendVec design
Only the offset into the AppendVec memory is thread-safe. The memory
itself is only threadsafe because it is append-only and is otherwise
unprotected. Adding get_mut() would only be safe if the memory was
protected by a ReadWrite lock.
* docs: add token balances response info
* docs: add blockTime to getConfirmedSignatures and getConfirmedTransaction
* docs: update example responses
* fix: remove space
* reorg validator economics
* overview cleanup
* terminology
* terminology formatting
* katex for docusaurus
* adjusted staking yield writeup
* more reorg
* move section header
* rm unlinked mds
* add new mds
* Update docs/src/inflation/terminology.md
Co-authored-by: Dan Albert <dan@solana.com>
* Update docs/src/inflation/terminology.md
Co-authored-by: Dan Albert <dan@solana.com>
* Update docs/src/inflation/terminology.md
Co-authored-by: Dan Albert <dan@solana.com>
* Update docs/src/inflation/terminology.md
Co-authored-by: Dan Albert <dan@solana.com>
* Update docs/src/inflation/terminology.md
Co-authored-by: Dan Albert <dan@solana.com>
* Update docs/src/transaction_fees.md
Co-authored-by: Dan Albert <dan@solana.com>
* addressing Dans comments in #14868
* incorporating pr commits
* trailing whitespaces
* more trailing whitespaces
* remove services link and add plot
* add plots
Co-authored-by: Dan Albert <dan@solana.com>
* Deprecate commitment variants
* Add new CommitmentConfig builders
* Add helpers to avoid allowing deprecated variants
* Remove deprecated transaction-status code
* Include new commitment variants in runtime commitment; allow deprecated as long as old variants persist
* Remove deprecated banks code
* Remove deprecated variants in core; allow deprecated in rpc/rpc-subscriptions for now
* Heavier hand with rpc/rpc-subscription commitment
* Remove deprecated variants from local-cluster
* Remove deprecated variants from various tools
* Remove deprecated variants from validator
* Update docs
* Remove deprecated client code
* Add new variants to cli; remove deprecated variants as possible
* Don't send new commitment variants to old clusters
* Retain deprecated method in test_validator_saves_tower
* Fix clippy matches! suggestion for BPF solana-sdk legacy compile test
* Refactor node version check to handle commitment variants and transaction encoding
* Hide deprecated variants from cli help
* Add cli App comments
* Make exchange listening-for-deposits language stronger
* Update docs/src/integrations/exchange.md
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
* Update from deprecated method
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
* Add optimistically_confirmed field to TransactionStatus
* Update docs
* Convert new field to confirmation_status
* Update docs to confirmationStatus
* Update variants
* Update docs
* Just Confirmed
* Add stake programming documentation
We had some questions about stake programming documentation, and there
wasn't a place that contained information about the stake-o-matic and
other stake development in one place. This adds a page with that
information.
* Update docs/src/staking/stake-programming.md
Co-authored-by: Eric Williams <eric@solana.com>
* Update docs/src/staking/stake-programming.md
Co-authored-by: Eric Williams <eric@solana.com>
* Update docs/src/staking/stake-programming.md
Co-authored-by: Eric Williams <eric@solana.com>
* Update docs/src/staking/stake-programming.md
Co-authored-by: Eric Williams <eric@solana.com>
* Update docs/src/staking/stake-programming.md
Co-authored-by: Eric Williams <eric@solana.com>
* Apply suggestions from code review
* Remove trailing whitespace
Co-authored-by: Eric Williams <eric@solana.com>
* docs: Use "msg!" instead of "info!"
* Update docs/src/developing/deployed-programs/developing-rust.md
Co-authored-by: Michael Vines <mvines@gmail.com>
* Fix typo / format
Co-authored-by: Michael Vines <mvines@gmail.com>
To my understanding, the Solana process always logs a UTC timestamp
anyway, so this is not needed. Plus, using PST on servers is really
weird from a systems engineering point of view.
The --rpc-pubsub-enable-vote-subscription flag may be used to enable it.
The current vote subscription is problematic because it emits a
notification for *every* vote, so hundreds a second in a real cluster.
Critically it's also missing information about *who* is voting,
rendering all those notifications practically useless.
Until these two issues can be resolved, the vote subscription is not
much more than a potential DoS vector.
* Test for different ancestors with mismatch bank hash
* Test cleanup
* Remove nondeterministic ancestor check
* Update timestamp bounding feature key
* Update design doc
* Filter recent_timestamps to nodes voting within the last epoch
Co-authored-by: Stephen Akridge <sakridge@gmail.com>
* Clarify the commitment levels based on questions
Many people have asked about what commitment levels mean, and which to
choose. This update includes some of the language at
`sdk/src/commitment_config.rs` and a recommendation for different use
cases.
Additionally, the preflight commitment documentation was out of date,
specifying that "max" was always used, and this is no longer the case.
* Update docs/src/developing/clients/jsonrpc-api.md
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update docs/src/developing/clients/jsonrpc-api.md
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update docs/src/developing/clients/jsonrpc-api.md
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Fix typo
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Looks like the Solana Ledger app is past the Beta phase!
I was able to install the Solana app from Ledger Live without
having to enable developer mode.
There's also no mention of developer mode in Ledger's
Solana setup article:
https://support.ledger.com/hc/en-us/articles/360016265659-Solana-SOL-
`--expected-shred-version` is another knob for users to get wrong and is
documentation that can get stale due to cluster restarts. Turns out
it's also generally not required anymore either because:
1. The cluster entrypoint can always be expected to be using the correct
shred version, and that shred version will be adopted by the new node
(earlier this was not the case when the `solana-gossip spy` node on
mainnet-beta.solana.com:8001 ran with shred version 0)
2. On a cluster restart, `--expected-bank-hash` is a much stronger
assertion that the validator is starting from the correct place (and
didn't exist when `--expected-shred-version` was first recommended)