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
fe1a977f9e
Parse SPL associated-token-account instructions (bp #16318 ) ( #16321 )
...
* 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 02:38:28 +00:00
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
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
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
2e983fb39f
pushes addresses instead of insert
v1.6.3
2021-04-01 11:14:05 -06:00
527b20fbbd
nit: fix variable names ( #16283 ) ( #16295 )
...
(cherry picked from commit aa45e81b3e
)
Co-authored-by: Jack May <jack@solana.com >
2021-04-01 09:24:52 +00:00
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
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
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
68ad2dcce1
Use more performant copy ( #16282 ) ( #16284 )
...
(cherry picked from commit ad7f8e7f23
)
Co-authored-by: Jack May <jack@solana.com >
2021-04-01 01:08:01 +00:00
e87c3421bc
Update overview.md ( #16280 )
...
fix link which was broken/wrong
(cherry picked from commit c723251575
)
Co-authored-by: Huge <mr.huge@seznam.cz >
2021-03-31 22:05:24 +00:00
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