mergify[bot]
b3488e0139
Cli: move airdrop to rpc requests ( #16557 ) ( #16564 )
...
* Add recent_blockhash to requestAirdrop
* Move tx confirmation to separate method
* Add RpcClient airdrop methods
* Request cli airdrop via RpcClient
* Pass optional faucet_addr into TestValidator and fix tests
* Update client/src/rpc_client.rs
Co-authored-by: Michael Vines <mvines@gmail.com >
Co-authored-by: Michael Vines <mvines@gmail.com >
(cherry picked from commit 7dfb51c0b4
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-04-15 07:35:19 +00:00
mergify[bot]
719db7eed0
uses timeouts based on stake for filtering pull responses ( #16549 ) ( #16551 )
...
filter_pull_responses is using default timeout when discarding pull
responses (except for ContactInfo):
https://github.com/solana-labs/solana/blob/f804ce63c/core/src/crds_gossip_pull.rs#L349-L350
But purging code uses timeouts based on stake:
https://github.com/solana-labs/solana/blob/f804ce63c/core/src/cluster_info.rs#L1867-L1870
So the crds value will not be purged from the sender's table and will be
sent again over the next pull request.
(cherry picked from commit d92721aab9
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-04-14 21:43:48 +00:00
mergify[bot]
4ddb72a32d
prioritizes contact-infos in pull responses ( #16541 ) ( #16550 )
...
Expired crds values where the contact-info does not exist are wasted:
https://github.com/solana-labs/solana/blob/f804ce63c/core/src/crds_gossip_pull.rs#L353-L378
and then are sent again over the next pull-request.
Also, the stake of the first response (which can be anything) is used to
weight all pull-responses to a node, while the rest of responses can
have different stake.
https://github.com/solana-labs/solana/blob/f804ce63c/core/src/cluster_info.rs#L2231
(cherry picked from commit f35a6a8be0
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-04-14 20:14:22 +00:00
mergify[bot]
ff1171338f
Fix channel panic in tests ( #16503 ) ( #16543 )
...
* Fix channel panic
* Add exit signal to PohRecorder because Crossbeam doesnt drop objects inside dropped channel
(cherry picked from commit f0c150cfb9
)
Co-authored-by: carllin <carl@solana.com >
2021-04-14 19:04:31 +00:00
Michael Vines
4ef3a679a4
Bump version to v1.6.6
2021-04-14 10:27:02 -07:00
mergify[bot]
3bb8016a40
Remove blake3 from bpf program dependencies ( #16506 ) ( #16509 )
...
(cherry picked from commit f641429056
)
Co-authored-by: Justin Starry <justin@solana.com >
2021-04-13 11:18:26 +00:00
Justin Starry
579065443a
v1.6: Use blake3 message hash in status cache ( #16507 )
2021-04-13 16:57:20 +08:00
mergify[bot]
8ee294639a
validator: Add authorized-voter add/remove-all commands (bp #16492 ) ( #16496 )
...
* Clean up build warning
(cherry picked from commit 17a173ebb5
)
* Add authorized-voter add/remove-all commands
(cherry picked from commit 2229b70c4e
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-04-13 00:07:06 +00:00
mergify[bot]
37c2b68677
poll checking for new record in poh service after every batch of hashes instead of busy waiting ( #16167 ) ( #16486 )
...
* poll waiting in poh service after every batch of hashes
* clippy
(cherry picked from commit 414c7070cb
)
Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com >
2021-04-12 19:07:23 +00:00
mergify[bot]
d9944c8ae3
TransactionRecorder uses unique channel so we can use Recv instead of RecvTimeout ( #16195 ) ( #16485 )
...
* time
* new channel each call
* new channel every time
(cherry picked from commit 5eff23db0c
)
Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com >
2021-04-12 18:56:22 +00:00
mergify[bot]
6c8bbdca0a
Allow fork choice to support multiple versions of a slot ( #16266 ) ( #16480 )
...
(cherry picked from commit dc7030ffaa
)
Co-authored-by: carllin <carl@solana.com >
2021-04-12 09:14:02 +00:00
mergify[bot]
60fba7be75
Track gossip vote updates per hash for replay stage ( #16421 ) ( #16468 )
...
* Track gossip vote updates per hash for replay stage
(cherry picked from commit 99b3aab703
)
Co-authored-by: carllin <carl@solana.com >
2021-04-11 09:33:28 +00:00
mergify[bot]
24075ceeff
Fill in not-yet-finalized block-time if possible ( #16460 ) ( #16463 )
...
(cherry picked from commit 8bc0bdd40b
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-04-09 21:48:16 +00:00
mergify[bot]
f7ef1e68b0
patches bug in banking stage where buffered packets are never retained ( #16276 ) ( #16458 )
...
banking_stage::handle_forwarding is retaining buffered packets with
empty index, so nothing is held:
https://github.com/solana-labs/solana/blob/6f3926b64/core/src/banking_stage.rs#L520
(cherry picked from commit 701fc93343
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-04-09 18:44:32 +00:00
mergify[bot]
723e7f11b9
Simplify some pattern-matches ( #16402 ) ( #16446 )
...
When those match an exact combinator on Option / Result.
Tool-aided by [comby-rust](https://github.com/huitseeker/comby-rust ).
(cherry picked from commit b08cff9e77
)
Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com >
2021-04-08 20:45:01 +00:00
mergify[bot]
f7211d3c07
Cli: use get_inflation_rewards and limit epochs queried ( #16408 ) ( #16444 )
...
* Fix block-with-limit when not finalized blocks found
* Enable confirmed commitment in getInflationReward
* Use get_inflation_rewards in cli
* Line up rewards output
* Add range validator
* Change cli epoch arg -> num epochs
* Add solana inflation rewards subcommand
* Consolidate epoch rewards meta
(cherry picked from commit bb9d2fd07a
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-04-08 18:16:04 +00:00
mergify[bot]
eadab5e2f0
No wallclock throttle tests ( #16396 ) ( #16399 )
...
(cherry picked from commit 1219842a96
)
Co-authored-by: carllin <carl@solana.com >
2021-04-07 11:05:51 +00:00
mergify[bot]
a2857928a4
Rpc: introduce get_inflation_reward rpc call ( #16278 ) ( #16410 )
...
* 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
(cherry picked from commit e501fa5f0b
)
Co-authored-by: Josh <josh.hundley@gmail.com >
2021-04-07 02:26:45 +00:00
mergify[bot]
79ee0e06b2
Cluster info shred spies (bp #16389 ) ( #16395 )
...
* cluster-info: Don't subtract non-shred spies from node count
(cherry picked from commit b6b08706b9
)
* cluster-info: Get rid of some integer math while we're here
(cherry picked from commit b71875df61
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-04-06 01:37:16 +00:00
mergify[bot]
443f132de5
Add cluster state verifier logging ( #16330 ) ( #16336 )
...
* Add cluster state verifier logging
* Add duplicate-slots iterator to ledger tool
(cherry picked from commit 4e5ef6bce2
)
Co-authored-by: carllin <carl@solana.com >
2021-04-06 01:25:12 +00:00
mergify[bot]
95299e43a2
validator: Use a const for wait for supermajority threshold ( #16392 )
...
(cherry picked from commit 7a2a39093d
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-04-06 00:53:05 +00:00
Michael Vines
270749185c
Adjust tokio version to just "1"
...
(cherry picked from commit 43feef7362
)
# Conflicts:
# faucet/Cargo.toml
# net-utils/Cargo.toml
2021-04-05 14:02:34 -07:00
Michael Vines
6184254416
Reduce test-validator ledger size
...
(cherry picked from commit b242f82696
)
2021-04-05 09:24:49 -07:00
Tyera Eulberg
5da83c1491
Bump version to v1.6.5 ( #16361 )
2021-04-04 22:00:40 -06:00
sakridge
a788021181
Bump version to v1.6.4 ( #16345 )
2021-04-04 13:31:35 -07:00
mergify[bot]
553e9fb8cd
Set ticks_per_slot higher for banking stage tests ( #16094 ) ( #16356 )
...
Tests are timing out because the bank hit the MaxTickHeight and
will not process the transactions.
(cherry picked from commit 96ccc40f0a
)
Co-authored-by: sakridge <sakridge@gmail.com >
2021-04-04 20:29:53 +00:00
mergify[bot]
581181e87f
Fix test_replay_commitment_cache ( #16131 ) ( #16355 )
...
(cherry picked from commit 9b94741290
)
Co-authored-by: sakridge <sakridge@gmail.com >
2021-04-04 19:41:45 +00:00
mergify[bot]
f7905d369a
Throttle PoH ticks by cumulative slot time ( #16139 ) ( #16315 )
...
* Throttle PoH ticks by cumulative slot time
* respond to pr feedback
* saturating sub
* updated comment
(cherry picked from commit 4f4cffbd03
)
# Conflicts:
# core/src/poh_recorder.rs
Co-authored-by: Jeff Washington (jwash) <wash678@gmail.com >
2021-04-03 23:40:46 +00:00
mergify[bot]
ef079d202b
Wait for 90 percent of stake before starting ( #16340 ) ( #16344 )
...
(cherry picked from commit 3429785d9b
)
Co-authored-by: sakridge <sakridge@gmail.com >
2021-04-03 22:50:58 +00:00
mergify[bot]
23b9e6eae3
add metric for ticks from poh_recorder.record ( #16047 ) ( #16312 )
...
(cherry picked from commit 2fc609a294
)
# Conflicts:
# core/src/poh_recorder.rs
Co-authored-by: Jeff Washington (jwash) <wash678@gmail.com >
2021-04-02 18:50:50 +00:00
mergify[bot]
5e538eff7c
metrics for poh_recorder.record ( #15998 ) ( #16317 )
...
(cherry picked from commit ddc758439e
)
Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com >
2021-04-02 02:35:09 +00:00
mergify[bot]
3efe4b5478
increase timeout in TransactionRecorder.record ( #16133 ) ( #16314 )
...
(cherry picked from commit 06ac0fe9a3
)
Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com >
2021-04-02 00:58:52 +00:00
mergify[bot]
90e0d4fefe
poh record metrics ( #16092 ) ( #16313 )
...
(cherry picked from commit f68860a643
)
Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com >
2021-04-01 21:27:16 +00:00
mergify[bot]
a0c4b4e5fc
Rpc: enable getConfirmedSignaturesForAddress2 to return confirmed (not yet finalized) data ( #16281 ) ( #16293 )
...
* 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
(cherry picked from commit da27acabcc
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-04-01 06:30:36 +00:00
mergify[bot]
282315a721
Rpc: fix getConfirmedTransaction slot ( #16288 ) ( #16290 )
...
* Fix transaction blockstore apis
* Update blockstore apis in rpc
(cherry picked from commit 18bd47dbe1
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-04-01 04:58:53 +00:00
mergify[bot]
b8198f8cc5
removes OrderedIterator and transaction batch iteration order ( #16153 ) ( #16285 )
...
In TransactionBatch,
https://github.com/solana-labs/solana/blob/e50f59844/runtime/src/transaction_batch.rs#L4-L11
lock_results[i] is aligned with transactions[iteration_order[i]]:
https://github.com/solana-labs/solana/blob/e50f59844/runtime/src/bank.rs#L2414-L2424
https://github.com/solana-labs/solana/blob/e50f59844/runtime/src/accounts.rs#L788-L817
However load_and_execute_transactions is iterating over
lock_results[iteration_order[i]]
https://github.com/solana-labs/solana/blob/e50f59844/runtime/src/bank.rs#L2878-L2889
and then returning i as for the index of the retryable transaction.
If iteratorion_order is [1, 2, 0], and i is 0, then:
lock_results[iteration_order[i]] = lock_results[1]
which corresponds to
transactions[iteration_order[1]] = transactions[2]
so neither i = 0, nor iteration_order[i] = 1 gives the correct index for the
corresponding transaction (which is 2).
This commit removes OrderedIterator and transaction batch iteration order
entirely. There is only one place in blockstore processor which the
iteration order is not ordinal:
https://github.com/solana-labs/solana/blob/e50f59844/ledger/src/blockstore_processor.rs#L269-L271
It seems like, instead of using an iteration order, that can shuffle entry
transactions in-place.
(cherry picked from commit 3f63ed9a72
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-04-01 01:28:01 +00:00
mergify[bot]
20754a7115
Drop write lock on sysvars ( #15497 ) ( #16233 )
...
* Drop write lock on sysvars
* adds env var for demoting sysvar write lock demotion
* moves demote logic to is_writable
* feature gates sysvar write lock demotion
* adds builtins to write lock demotion
* adds system program id to builtins
* adds Feature111...
* adds an abi-freeze test
* mvines set of builtin program keys
Co-authored-by: Michael Vines <mvines@gmail.com >
* update tests
* adds bpf loader keys
* Add test sysvar
* Plumb demote_sysvar to is_writable
* more plumbing of demote_sysvar_write_locks to is_writable
* patches test_program_bpf_instruction_introspection
* hard codes demote_sysvar_write_locks to false for serialization/encoding methods
* Revert "hard codes demote_sysvar_write_locks to false for serialization/encoding methods"
This reverts commit ae3e2d2e777437bddd753933097a210dcbc1b1fc.
* change the hardcoded ones to demote_sysvar_write_locks=true
* Use data_as_mut_slice
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
Co-authored-by: Michael Vines <mvines@gmail.com >
(cherry picked from commit 54c68ea83f
)
Co-authored-by: sakridge <sakridge@gmail.com >
2021-03-31 20:23:20 +00:00
Trent Nelson
634959b3ab
Bump version to v1.6.3
2021-03-30 16:17:47 +00:00
Trent Nelson
03b21f2e9d
Bump version to v1.6.2
2021-03-30 00:06:01 -06:00
carllin
cc5565b17e
Setup ReplayStage confirmation scaffolding for duplicate slots ( #9698 )
...
(cherry picked from commit 52703badfa
)
2021-03-29 22:07:14 -06:00
mergify[bot]
4d731ecd08
eliminate lock on record ( #15929 ) ( #16073 )
...
* eliminate lock on record
* use same error as MaxHeightReached
* clippy
* review feedback
* refactor should_tick code
* pr feedback
(cherry picked from commit 57ba86c821
)
Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com >
2021-03-30 00:46:13 +00:00
Tyera Eulberg
3b1279a005
Future-aware enum name
2021-03-29 14:58:35 -06:00
mergify[bot]
5c9f85f28d
Rpc: enable getConfirmedBlocks and getConfirmedBlocksWithLimit to return confirmed (not yet finalized) data ( #16161 ) ( #16198 )
...
* Add commitment config capabilities
* Use rpc limit if no end_slot provided
* Limit to actually finalized blocks
* Support confirmed blocks in getConfirmedBlocks and getConfirmedBlocksWithLimit
* Update docs
* Add client plumbing
* Rename config enum
(cherry picked from commit 60ed8e2892
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-03-29 19:53:17 +00:00
mergify[bot]
625773e5b8
Rpc: enable getConfirmedBlock and getConfirmedTransaction to return confirmed (not yet finalized) data (bp #16142 ) ( #16160 )
...
* Rpc: enable getConfirmedBlock and getConfirmedTransaction to return confirmed (not yet finalized) data (#16142 )
* Add Blockstore block and tx apis that allow unrooted responses
* Add TransactionStatusMessage, and send on bank freeze; also refactor TransactionStatusSender
* Track highest slot with tx-status writes complete
* Rename and unpub fn
* Add commitment to GetConfirmed input configs
* Support confirmed blocks in getConfirmedBlock
* Support confirmed txs in getConfirmedTransaction
* Update sigs-for-addr2 comment
* Enable confirmed block in cli
* Enable confirmed transaction in cli
* Review comments
* Rename blockstore method
(cherry picked from commit 433f1ead1c
)
# Conflicts:
# core/src/replay_stage.rs
* Fix conflict
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-03-27 04:51:53 +00:00
mergify[bot]
a4cb1e45ae
Only print skipped leader slot message when the node is actually leader ( #16156 ) ( #16164 )
...
Also, check vote signature after the vote is signed
(cherry picked from commit 60b4771fc6
)
Co-authored-by: sakridge <sakridge@gmail.com >
2021-03-27 02:03:10 +00:00
mergify[bot]
d940c5b1a3
Skip leader slots until a vote lands ( #15607 ) ( #16147 )
...
(cherry picked from commit b99ae8f334
)
Co-authored-by: sakridge <sakridge@gmail.com >
2021-03-26 19:07:24 +00:00
mergify[bot]
8f852d8a6b
makes test_pull_request_time_pruning smaller ( #16128 ) ( #16144 )
...
(cherry picked from commit b041b55028
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-03-26 01:20:26 +00:00
mergify[bot]
7475a6f444
makes turbine peer computation consistent between broadcast and retransmit ( #14910 ) ( #16143 )
...
get_broadcast_peers is using tvu_peers:
https://github.com/solana-labs/solana/blob/84e52b606/core/src/broadcast_stage.rs#L362-L370
which is potentially inconsistent with retransmit_peers:
https://github.com/solana-labs/solana/blob/84e52b606/core/src/cluster_info.rs#L1332-L1345
Also, the leader does not include its own contact-info when broadcasting
shreds:
https://github.com/solana-labs/solana/blob/84e52b606/core/src/cluster_info.rs#L1324
but on the retransmit side, slot leader is removed only _after_ neighbors and
children are computed:
https://github.com/solana-labs/solana/blob/84e52b606/core/src/retransmit_stage.rs#L383-L384
So the turbine broadcast tree is different between the two stages.
This commit:
* Removes retransmit_peers. Broadcast and retransmit stages will use tvu_peers
consistently.
* Retransmit stage removes slot leader _before_ computing children and
neighbors.
(cherry picked from commit 570fd3f810
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-03-26 00:16:48 +00:00
mergify[bot]
86ce650661
Add timeout for local cluster partition tests (bp #16123 ) ( #16137 )
...
* Add timeout for local cluster partition tests (#16123 )
* Add timeout for local cluster partition tests
* fix optimistic conf test logs
* Bump instruction count assertions
(cherry picked from commit e817a6db00
)
# Conflicts:
# local-cluster/Cargo.toml
* Fix conflict
Co-authored-by: Justin Starry <justin@solana.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-03-25 22:56:05 +00:00
mergify[bot]
5f061dcea1
Support getBlockTime for unfinalized blocks ( #16103 ) ( #16110 )
...
(cherry picked from commit a8ef29df27
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-03-25 04:18:00 +00:00