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
8a57ee181e
Cleanup nits (bp #16211 ) ( #16237 )
...
* Cleanup nits (#16211 )
(cherry picked from commit f84e88f0a2
)
# Conflicts:
# programs/bpf/Cargo.lock
# programs/bpf/rust/sysvar/Cargo.toml
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-03-31 10:01:18 +00:00
4e6b5a9808
Fix BPF ELF layout ( #16256 ) ( #16261 )
...
* Fix BPF ELF layout
* whitespace
(cherry picked from commit bcd89dd34c
)
Co-authored-by: Jack May <jack@solana.com >
2021-03-31 09:56:57 +00:00
f24fbde43b
Helpful const and Arg doc ( #16248 ) ( #16252 )
...
(cherry picked from commit 67b747938f
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-03-31 06:32:18 +00:00
47f60c7607
Validator monitor now displays the max retransmit slot
...
(cherry picked from commit aac18d7564
)
2021-03-30 21:57:23 -07:00
8b307ed409
security policy: Add out-of-scope section (bp #16249 ) ( #16251 )
...
* security policy: Add out-of-scope section
(cherry picked from commit e9e46ff521
)
* 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:49:17 +00:00
cf21719a07
Add get_max_retransmit_slot/get_max_shred_insert_slot to RpcClient ( #16243 )
...
(cherry picked from commit 2a1639836a
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-03-31 01:09:11 +00:00
3157b464c4
Align ProcessInstruction error handling ( #16232 ) ( #16238 )
...
(cherry picked from commit ce7f7c2b6c
)
Co-authored-by: Jack May <jack@solana.com >
2021-03-30 21:55:08 +00:00
2581db5748
docs: Reduce airdrop examples to 1 SOL ( #16241 )
...
(cherry picked from commit 2bcfbad653
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-03-30 21:52:42 +00:00
634959b3ab
Bump version to v1.6.3
2021-03-30 16:17:47 +00:00
03b21f2e9d
Bump version to v1.6.2
v1.6.2
2021-03-30 00:06:01 -06:00
cc5565b17e
Setup ReplayStage confirmation scaffolding for duplicate slots ( #9698 )
...
(cherry picked from commit 52703badfa
)
2021-03-29 22:07:14 -06:00
50beef0b15
Allow incomplete features in frozen-abi ( #16205 )
...
(cherry picked from commit 9ba9d2a8ae
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-03-30 03:46:10 +00:00
06a54e1423
remove old code ( #15988 ) ( #15993 )
...
(cherry picked from commit 9760fded2d
)
Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com >
2021-03-30 00:50:27 +00:00
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
ee06789a66
sdk: Add try_from_slice_unchecked for Borsh ( #16098 ) ( #16158 )
...
* sdk: Add try_from_slice_unchecked for Borsh
* Add tests
* Rename + clarify comment
* Rename back to unchecked
(cherry picked from commit cffa851e0f
)
Co-authored-by: Jon Cinque <jon.cinque@gmail.com >
2021-03-29 23:15:34 +00:00
2dabe1d706
Add handling to close accounts to many-accounts bench ( #16199 ) ( #16201 )
...
* gitignore farf
* Improve cli args
* Use derived addresses for accounts
* Add parameter to close every nth account created
(cherry picked from commit 1d145e1fc2
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-03-29 22:54:09 +00:00
3b1279a005
Future-aware enum name
2021-03-29 14:58:35 -06:00
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
e12dd46ef3
Derive PartialEq for StakeActivationState ( #16196 )
...
(cherry picked from commit 4e7bd45d4c
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-03-29 18:16:44 +00:00
c4fa03b478
Status cache improvements ( #16174 ) ( #16178 )
...
(cherry picked from commit 5e5b63712b
)
Co-authored-by: sakridge <sakridge@gmail.com >
2021-03-29 10:11:16 -07:00
9fb749deb7
Print the rust version when building bpf programs ( #16181 ) ( #16183 )
...
(cherry picked from commit abada56ba1
)
Co-authored-by: Justin Starry <justin@solana.com >
2021-03-29 07:18:55 +00:00
bd48344de2
Fix handling of invoked ix accounts in program-test ( #16170 ) ( #16176 )
...
(cherry picked from commit 27ab415ecc
)
Co-authored-by: Justin Starry <justin@solana.com >
2021-03-29 01:55:11 +00:00
78e54f1d2c
Implement mnemonic support for solana-keygen grind (solana-labs#9325) ( #16108 ) ( #16173 )
...
* 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.
(cherry picked from commit e50f598449
)
Co-authored-by: bji <bryan@ischo.com >
2021-03-28 07:05:17 +00:00
76a6576976
sdk: Use u32::MAX from std to unbreak BPF builds ( #16171 ) ( #16172 )
...
(cherry picked from commit aabe186e3f
)
Co-authored-by: Justin Starry <justin@solana.com >
2021-03-27 17:05:53 +00:00
92ec1ae255
Switch to a single use
( #16169 )
...
(cherry picked from commit 16e4ccca13
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-03-27 06:58:31 +00:00
0d203728cc
Add RpcClient::get_stake_activation()
2021-03-26 22:33:06 -07:00
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
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
8aded2778e
Bump bpf-tools to version v1.4 ( #16152 ) ( #16154 )
...
(cherry picked from commit 658ddd1c9c
)
Co-authored-by: Dmitri Makarov <dmakarov@users.noreply.github.com >
2021-03-26 20:51:25 +00:00
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
1be045df94
sq: optimize
...
(cherry picked from commit 482c027d3b
)
2021-03-25 21:31:52 -06:00
86191911c7
perf: use saturating/checked integer arithmetic
...
(cherry picked from commit 834fae684b
)
2021-03-25 21:31:52 -06:00
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
68a439f8da
Refactored ShortU16Visitor::visit_seq() to reject overflows, extra leading zeros and ensure one-to-one encoding.
2021-03-26 01:20:22 +00:00
e021832708
sdk: ShortU16 - rename variables for clarity
...
ShortU16's implementation embeds its usage as the length of a
ShortVec, confusingly referring to both a 'len' and a 'size'
at the same time.
2021-03-26 01:20:22 +00:00
87b11aa187
sdk: Add ShortU16 deser test
2021-03-26 01:20:22 +00:00
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
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
4dc5a53014
Show bpf-tools download progress ( #16135 )
...
(cherry picked from commit 07273bfa9e
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-03-25 20:55:11 +00:00
5e35cf3536
program: Correct clamp in Message::signer_keys() ( #16114 )
...
(cherry picked from commit 8b3de72e2a
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-03-25 17:53:34 +00:00
e8a8d1efb3
clap-utils: Allow NullSigner
s outside sign-only mode
...
(cherry picked from commit 7f0ac6a67c
)
2021-03-25 11:10:53 -06:00
defd9238fa
Simplify account.rent_epoch handling for sysvar rent (bp #16049 ) ( #16118 )
...
* 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:
# sdk/src/native_loader.rs
* Fix conflicts
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
2021-03-25 17:17:43 +09:00
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
e6ee27a738
Add Exodus as Solana Mobile app option ( #16100 ) ( #16101 )
...
* Add Exodus as Solana Mobile app option
* Update docs/src/wallet-guide/apps.md
Co-authored-by: Michael Vines <mvines@gmail.com >
(cherry picked from commit ad47c63f27
)
Co-authored-by: Davey <35187388+davidzelaya@users.noreply.github.com >
2021-03-24 21:34:58 +00:00
dd2d25d698
limits CrdsGossipPull::pull_request_time size ( #15793 ) ( #16097 )
...
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
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-03-24 20:05:04 +00:00
9096c3df02
Adjust BPF test programs instruction counts
2021-03-24 11:59:59 +01:00
9f94c2a9a0
Bump bpf-tools to version v1.3
...
This brings in the fix for increased compute budget that wasn't caught
when bpf-tools v1.2 were released.
2021-03-24 11:59:59 +01:00
34213da9f4
Bump bpf-tools to v1.2 and get rid of xargo
2021-03-24 11:59:59 +01:00
c3c4991c44
rpc: add getSlotLeaders method ( #16057 ) ( #16079 )
...
(cherry picked from commit e7fd7d46cf
)
Co-authored-by: Justin Starry <justin@solana.com >
2021-03-23 19:27:18 +00:00