Commit Graph

12982 Commits

Author SHA1 Message Date
cfc824d38d Speed up net.sh builds (bp #16360) (#16419)
* Speed up net.sh builds (#16360)

* Speed up net.sh builds

* feedback

* Update net/net.sh

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>

* feedback

* fix

Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
(cherry picked from commit 6cd4bc5e60)

# Conflicts:
#	scripts/cargo-install-all.sh

* fix

Co-authored-by: Justin Starry <justin@solana.com>
2021-04-07 08:22:48 +00:00
492a02d737 Rpc: introduce get_inflation_reward rpc call (bp #16278) (#16409)
* Rpc: introduce get_inflation_reward rpc call (#16278)

* 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)

# Conflicts:
#	client/src/rpc_client.rs
#	core/src/rpc.rs

* fix: resolve cherry-pick conflicts

* fix: change bool_to_option filter_map to filter + map

* style: use filter_map in place of filter + map

Co-authored-by: Josh <josh.hundley@gmail.com>
2021-04-07 06:09:27 +00:00
624f9790bd validator: Use a const for wait for supermajority threshold (#16391)
(cherry picked from commit 7a2a39093d)

Co-authored-by: Trent Nelson <trent@solana.com>
2021-04-06 05:02:25 +00:00
a23fb497ec Cluster info shred spies (bp #16389) (#16394)
* 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:25:16 +00:00
6107de87c0 merkle-tree: fix build when targeting bpf (bp #16335) (#16341)
* merkle-tree: Add Xargo.toml

(cherry picked from commit a1d9b53cd7)

* merkle-tree: Get `Hash` et. al from program instead of sdk

(cherry picked from commit ddc0a16cec)

* merkle-tree: Use `matches` crate when targeting eBPF

(cherry picked from commit a44c32694f)

Co-authored-by: Trent Nelson <trent@solana.com>
2021-04-05 20:42:37 +00:00
0c0b65e9ab Only get Blockstore::last_root once (#16362) (#16365)
(cherry picked from commit b8b6777262)

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-04-05 06:54:23 +00:00
9b04b634bd Fixup iterator method (#16357) (#16358)
(cherry picked from commit 1a13d22984)

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-04-05 00:46:47 +00:00
aca3534e89 Remove unprocessed transactions from log notifications (#16349) (#16352)
(cherry picked from commit 0596cf5405)

Co-authored-by: Justin Starry <justin@solana.com>
2021-04-04 17:06:18 +00:00
b4bb062a2e Wait for 90 percent of stake before starting (#16340) (#16343)
(cherry picked from commit 3429785d9b)

Co-authored-by: sakridge <sakridge@gmail.com>
2021-04-03 22:34:37 +00:00
194a07862f makes test_pull_request_time_pruning smaller (#16128) (#16338)
(cherry picked from commit b041b55028)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2021-04-03 14:53:59 +00:00
e043825de2 limits CrdsGossipPull::pull_request_time size (bp #15793) (#16334)
* limits CrdsGossipPull::pull_request_time size (#15793)

There is no pruning logic on CrdsGossipPull::pull_request_time
https://github.com/solana-labs/solana/blob/79ac1997d/core/src/crds_gossip_pull.rs#L172-L174
potentially allowing this to take too much memory.

Additionally, CrdsGossipPush::last_pushed_to is pruning recent push
timestamps:
https://github.com/solana-labs/solana/blob/79ac1997d/core/src/crds_gossip_push.rs#L275-L279
instead of the older ones.

Co-authored-by: Nathan Hawkins <utsl@utsl.org>
(cherry picked from commit a6c23648cb)

# Conflicts:
#	core/src/cluster_info.rs

* removes backport merge conflicts

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2021-04-03 13:29:45 +00:00
3e91fa313e Parse SPL associated-token-account instructions (bp #16318) (#16320)
* Parse SPL associated-token-account instructions (#16318)

(cherry picked from commit a902505810)

# Conflicts:
#	transaction-status/Cargo.toml

* Fix conflict

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-04-02 01:45:15 +00:00
9ac4b11185 solana-install init can now select a pre-release from Github (#16319)
(cherry picked from commit d9176c1903)

Co-authored-by: Michael Vines <mvines@gmail.com>
2021-04-01 23:41:29 +00:00
c32bd40aa4 Bump version to v1.5.19 2021-04-01 20:23:50 +00:00
7e480df9fa Rpc: enable getConfirmedSignaturesForAddress2 to return confirmed (not yet finalized) data (#16281) (#16292)
* 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>
v1.5.18
2021-04-01 11:29:51 -06:00
d1da10f512 pushes addresses instead of insert 2021-04-01 11:06:43 -06:00
e55d5385bd adds an inverted index to leader schedule (#15249) (#16286)
next_leader_slot is doing a linear search for slots in which a pubkey is
the leader:
https://github.com/solana-labs/solana/blob/e59a24d9f/ledger/src/leader_schedule_cache.rs#L123-L157
This can be done more efficiently by adding an inverted index to leader
schedule.

(cherry picked from commit e403aeaf05)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2021-04-01 14:27:54 +00:00
708a45e5ed indexes epoch slots in crds table (#15459) (#16287)
ClusterInfo::get_epoch_slots_since scans the entire crds table to obtain
epoch-slots inserted since a timestamp:
https://github.com/solana-labs/solana/blob/013daa8f4/core/src/cluster_info.rs#L1245-L1262
The alternative is to index epoch-slots in crds table ordered by their
insert timestamp.

(cherry picked from commit 5a9896706c)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2021-04-01 14:21:00 +00:00
afd5b9f09b Rpc: fix getConfirmedTransaction slot (#16288) (#16289)
* 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 08:47:03 +00:00
a9a7f21f51 Add RpcClient::get_stake_activation() (bp #16165) (#16294)
* Add RpcClient::get_stake_activation()

(cherry picked from commit 5791b95b17)

# Conflicts:
#	client/src/rpc_client.rs

* Fix conflicts

* Derive PartialEq for StakeActivationState

Co-authored-by: Michael Vines <mvines@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-04-01 07:30:25 +00:00
f69ee59e21 docs: Reduce airdrop examples to 1 SOL (#16240)
(cherry picked from commit 2bcfbad653)

# Conflicts:
#	docs/src/cli/transfer-tokens.md

Co-authored-by: Trent Nelson <trent@solana.com>
2021-04-01 06:53:28 +00:00
aad1e4ee4a security policy: Add out-of-scope section (bp #16249) (#16250)
* security policy: Add out-of-scope section

(cherry picked from commit e9e46ff521)

# Conflicts:
#	SECURITY.md

* Update SECURITY.md

Co-authored-by: Michael Vines <mvines@gmail.com>
(cherry picked from commit 700ebde474)

Co-authored-by: Trent Nelson <trent@solana.com>
2021-03-31 04:47:25 +00:00
97a58d7320 Add channel version check 2021-03-29 23:13:23 -07:00
ac4722afd7 Bump version to 1.5.18 2021-03-29 23:00:20 -07:00
9ded0bdc03 Allow incomplete features in frozen-abi (#16204)
(cherry picked from commit 9ba9d2a8ae)

Co-authored-by: Trent Nelson <trent@solana.com>
v1.5.17
2021-03-30 05:33:15 +00:00
b2cee2753d Print the rust version when building bpf programs (#16181) (#16203) 2021-03-30 03:32:16 +00:00
09843a28d9 Rpc: enable getConfirmedBlocks and getConfirmedBlocksWithLimit to return confirmed (not yet finalized) data (bp #16161) (#16197)
* Rpc: enable getConfirmedBlocks and getConfirmedBlocksWithLimit to return confirmed (not yet finalized) data (#16161)

* 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)

# Conflicts:
#	client/src/rpc_config.rs
#	core/src/rpc.rs

* Fix conflicts

* Future-aware enum name

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-03-29 22:11:46 +00:00
72ff8973a2 Revert "Print the rust version when building bpf programs (#16181) (#16182)" (#16200)
This reverts commit cc7342a8ef.
2021-03-29 15:00:25 -06:00
cc7342a8ef Print the rust version when building bpf programs (#16181) (#16182)
(cherry picked from commit abada56ba1)

# Conflicts:
#	sdk/bpf/scripts/install.sh

Co-authored-by: Justin Starry <justin@solana.com>
2021-03-29 20:00:23 +08:00
ffe2f96a58 Fix handling of invoked ix accounts in program-test (#16170) (#16175)
(cherry picked from commit 27ab415ecc)

Co-authored-by: Justin Starry <justin@solana.com>
2021-03-29 07:00:53 +00:00
fb08b41513 Rpc: enable getConfirmedBlock and getConfirmedTransaction to return confirmed (not yet finalized) data (bp #16142) (#16159)
* 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
#	core/src/rpc.rs
#	core/src/validator.rs

* Fix conflicts

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-03-27 05:45:00 +00:00
579575fe84 Add timeout for local cluster partition tests (bp #16123) (#16136)
* 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
#	local-cluster/tests/local_cluster.rs
#	programs/bpf/tests/programs.rs

* Fix conflicts

* Revert instruction count assertion changes

Co-authored-by: Justin Starry <justin@solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-03-26 00:15:08 +00:00
0bb95b470f clap-utils: Allow NullSigners outside sign-only mode (#16115)
(cherry picked from commit 7f0ac6a67c)

Co-authored-by: Trent Nelson <trent@solana.com>
2021-03-25 17:48:41 +00:00
4e6d175697 Simplify account.rent_epoch handling for sysvar rent (bp #16049) (#16117)
* Simplify account.rent_epoch handling for sysvar rent (#16049)

* Add some code for special local testing

* Add comment to store_account_and_update_capitalization

* Simplify account.rent_epoch handling for sysvar rent

* Introduce *_for_test functions

* Add deprecation messages to existing api

(cherry picked from commit 6d5c6c17c5)

# Conflicts:
#	programs/bpf_loader/src/lib.rs
#	programs/stake/src/stake_instruction.rs
#	programs/vote/src/vote_instruction.rs
#	runtime/src/accounts.rs
#	runtime/src/bank.rs
#	runtime/src/message_processor.rs
#	runtime/src/system_instruction_processor.rs
#	sdk/benches/slot_hashes.rs
#	sdk/benches/slot_history.rs
#	sdk/src/account.rs
#	sdk/src/keyed_account.rs
#	sdk/src/native_loader.rs
#	sdk/src/recent_blockhashes_account.rs

* Fix conflicts

* rustfmt

Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2021-03-25 18:12:33 +09:00
173ca7b448 program: Correct clamp in Message::signer_keys() (#16113)
(cherry picked from commit 8b3de72e2a)

Co-authored-by: Trent Nelson <trent@solana.com>
2021-03-25 06:41:14 +00:00
fc36a0c5ba Support getBlockTime for unfinalized blocks (#16103) (#16109)
(cherry picked from commit a8ef29df27)

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-03-25 06:05:41 +00:00
3317a14bd5 rpc: add getSlotLeaders method (#16057) (#16078)
(cherry picked from commit e7fd7d46cf)

Co-authored-by: Justin Starry <justin@solana.com>
2021-03-24 03:20:57 +00:00
64a754f610 Handle blockstore insert dup checks (#16051) (#16065)
(cherry picked from commit d76ad33597)

Co-authored-by: carllin <carl@solana.com>
2021-03-23 05:19:05 +00:00
734a4e39f7 Add stub --allow-unfunded-recipient argument for forward compatibility with v1.6 2021-03-22 13:45:22 -07:00
f356a05e96 Bump version to 1.5.17 (#16043) 2021-03-19 18:56:05 -06:00
c3c4ce48af Make getStakeActivation response consistent for undelegated accounts (#16039) v1.5.16 2021-03-19 15:51:40 -06:00
452663a99a Remove read only locks when they hit ref count zero, cleanup accounts locking (#15449) (#16006)
(cherry picked from commit 9a7cd8885d)

Co-authored-by: carllin <carl@solana.com>
2021-03-19 20:59:18 +00:00
c0d27503ce docs: SIGUSR1 killing wrapper shell scripts (#16008)
(cherry picked from commit 07dc522981)

Co-authored-by: Trent Nelson <trent@solana.com>
2021-03-19 07:30:14 +00:00
57833a36e3 Santize instruction index when loading instruction from sysvar (#15942) (#16003)
(cherry picked from commit 4c5660ba7a)

Co-authored-by: Justin Starry <justin@solana.com>
2021-03-19 13:25:39 +08:00
e58365a160 cli cleanup (#15990) (#15996)
(cherry picked from commit 067b390194)

Co-authored-by: Jack May <jack@solana.com>
2021-03-18 21:02:59 +00:00
a5f8635fdc rpc: Add config options limiting getConfirmedBlock response data (bp #15970) (#15994)
* rpc: Add config options limiting getConfirmedBlock response data (#15970)

* Add new confirmed block struct

* Add RpcConfirmedBlockConfig options

* Configure block response based on new options

* Add client api, use in cli fetch_epoch_rewards

* Update docs

* Apply review suggestions

(cherry picked from commit aa54c468ea)

# Conflicts:
#	core/src/rpc.rs

* Fix conflicts

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-03-18 20:51:53 +00:00
de8df24203 Avoid panic when validator doesn't have performance samples (#15976) (#15980)
(cherry picked from commit ba33c9e18e)

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-03-18 09:22:02 +00:00
ea1312ab0b remote-wallet: Expose Ledger app settings (#15977)
(cherry picked from commit 2dabcac0da)

Co-authored-by: Trent Nelson <trent@solana.com>
2021-03-18 09:07:24 +00:00
e0119e7de7 Close buffer accounts (bp #15887) (#15971)
* Add Close instrruction and tooling to upgradeable loader (#15887)

(cherry picked from commit 7f500d610c)

# Conflicts:
#	cli/src/program.rs
#	programs/bpf_loader/src/lib.rs

* resolve conflicts

* slice fill not supported on older rust

Co-authored-by: Jack May <jack@solana.com>
2021-03-18 07:33:40 +00:00
9c596cfd6c Allow unbounded wallclock processing time in tests (#15961) (#15965)
(cherry picked from commit f548a04fae)

Co-authored-by: carllin <carl@solana.com>
2021-03-18 00:09:08 +00:00