mergify[bot]
ac76a75937
Feature-gate hash-based duplicate transaction check ( #16601 )
...
(cherry picked from commit 285f3c9d56
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-04-16 19:59:55 +00:00
Michael Vines
4ef3a679a4
Bump version to v1.6.6
2021-04-14 10:27:02 -07:00
mergify[bot]
6da4bec41d
Return sysvars via syscalls (bp #16422 ) ( #16497 )
...
* Return sysvars via syscalls (#16422 )
(cherry picked from commit fa83f3bd73
)
* bad merge
* Fix branch diffs
* nudge
Co-authored-by: Jack May <jack@solana.com >
2021-04-14 05:33:27 +00:00
mergify[bot]
97ba3cbeb0
Cleanup unsupported sysvars (backport #16390 ) ( #16517 )
...
* Cleanup unsupported sysvars (#16390 )
* Cleanup unsupported sysvars
* fix ser description
(cherry picked from commit 92f4018b07
)
# Conflicts:
# runtime/src/bank.rs
* fix conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-04-13 23:28:08 +00: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
Trent Nelson
81d636c2bf
Merge pull request from GHSA-fmvj-vqp5-qqh9
...
* Sanitize permissions
* Forbid creating directories under ledger/rocksdb/
* hardened_unpack: Disallow dirs under rocksdb/ in genesis
* hardened_unpack: expand valid genesis entry test coverage
* hardened_unpack: rework old-style bsd directory entry rejection
Co-authored-by: Ivan Mironov <mironov.ivan@gmail.com >
2021-04-12 23:56:37 -06: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]
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
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
Justin Starry
f10ae394c8
Remove unprocessed transactions from log notifications ( #16349 )
...
(cherry picked from commit 0596cf5405
)
2021-04-04 09:38:23 -07: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
mergify[bot]
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
mergify[bot]
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
mergify[bot]
2bc21ecba2
Allow unbounded wallclock processing time in tests ( #15961 ) ( #15966 )
...
(cherry picked from commit f548a04fae
)
Co-authored-by: carllin <carl@solana.com >
2021-03-18 00:22:06 +00:00
mergify[bot]
a259ff0e72
Wallclock BankingStage Throttle ( #15731 ) ( #15890 )
...
(cherry picked from commit c1ba265dd9
)
Co-authored-by: carllin <carl@solana.com >
2021-03-16 21:12:59 +00:00
Michael Vines
b1a90c3580
=1.6.1
2021-03-16 08:41:28 +00:00
Michael Vines
be00246fb5
Bump version to v1.6.1
2021-03-15 14:47:58 -06:00
Justin Starry
918d04e3f0
Add more slot update notifications ( #15734 )
...
* Add more slot update notifications
* fix merge
* Address feedback and add integration test
* switch to datapoint
* remove unused shred method
* fix clippy
* new thread for rpc completed slots
* remove extra constant
* fixes
* rely on channel closing
* fix check
2021-03-12 21:44:06 +08:00
Ryo Onodera
4bbeb9c033
Remove old feature: simple_capitalization ( #15763 )
...
* Remove old feature: simple_capitalization
* Fix another failing test in core
* Finish up test cleanup
* Further clean up a bit
2021-03-12 11:12:40 +09:00
Jeff Washington (jwash)
952c3bcbb7
AccountSharedData construction ( #15790 )
2021-03-11 18:09:04 -06:00
Jeff Washington (jwash)
3419a5446e
AccountSharedData.set_data ( #15781 )
...
* account.set_data and resize_data
* remove data_resize
2021-03-11 16:40:45 -06:00
Michael Vines
1061d021c9
Unpack snapshot AppendVecs directly into account paths
2021-03-11 08:25:24 -08:00
Trent Nelson
24d18b3cf2
docs: add docs links for crates published to crates.io
2021-03-11 08:38:18 +00:00
Jack May
478518308d
Share RO and Executable accounts within invocations ( #15799 )
2021-03-10 23:04:00 -08:00
Michael Vines
65dd177601
AppendVec cleanup: remove dead code, rename non-idiomatic "new" function
2021-03-10 14:50:59 -08:00
Jeff Washington (jwash)
1135ffd595
mut data refs as slice ( #15782 )
2021-03-10 15:28:03 -06:00
Tyera Eulberg
9c1198c0c7
Improve load_largest_accounts more ( #15785 )
...
* Add load_largest_accounts bench
* Check lamports before address filter
* Use BinaryHeap, add Accounts test
* Use pubkey reference in the min-heap
Also, flatten code with early returns
Co-authored-by: Greg Fitzgerald <greg@solana.com >
2021-03-10 11:22:02 -07:00
Jack May
369e13b111
cleanup old runtime features ( #15787 )
2021-03-10 09:48:41 -08:00
Tyera Eulberg
3355efbb5a
Fix test to use AccountSharedData
2021-03-09 20:47:54 -07:00
Tyera Eulberg
5991cef5f5
Improve load_largest_accounts and add Bank test ( #15775 )
2021-03-10 00:23:41 +00:00
Jeff Washington (jwash)
52e54e1100
account.data -> data() ( #15778 )
2021-03-09 22:31:33 +00:00
Jeff Washington (jwash)
8a3135d17b
Account->AccountSharedData ( #15691 )
2021-03-09 15:06:07 -06:00
Tyera Eulberg
e3e8179f2d
Sdk: start to appease clippy's integer arithmetic check ( #15736 )
...
* Move to module-level clippy allowance
* Fix stake_weighted_timestamp math
* Fix genesis_config
* Fix shred_version
* Fix hard_forks
* Fix process_instruction
* Add ArithmeticOverflow ix error
* Fix nonce_keyed_account
* Update BankSlotDelta frozen abi due to new ix error
2021-03-08 18:37:57 -07:00
Ryo Onodera
beac2d6d3f
Remove stale comment
2021-03-08 10:18:32 +09:00
Ryo Onodera
8b0c6db871
Remove old feature: cumulative_rent_related_fixes ( #15754 )
2021-03-08 09:58:50 +09:00
sakridge
c5371fdc85
More debug on shrink and flush ( #15518 )
2021-03-05 14:10:34 -08:00
Jeff Washington (jwash)
13b9bb6790
refactor function to store into account after data is finished ( #15710 )
2021-03-05 11:02:35 -06:00
Greg Fitzgerald
edd159e7d7
Fix typos ( #15721 )
2021-03-05 07:16:53 +00:00
Tyera Eulberg
872f7117c3
Use OrderedIterator to produce TransactionLogInfo ( #15712 )
...
* Add failing test
* Fix iteration_order issue with stored logs
2021-03-04 15:26:19 -07:00
Michael Vines
1e2f5a5f55
Permit the snapshots/status_cache file to be sparse
2021-03-04 12:36:34 -08:00
Jack May
b53cb8eb2d
Deprecate Instruction::new ( #15695 )
2021-03-04 05:46:48 +00:00
Jeff Washington (jwash)
be35c1c1b7
add execute detail timings ( #15638 )
2021-03-03 17:07:45 -06:00
Greg Fitzgerald
9bbe015a05
Document and clean up AppendVec ( #15640 )
...
* 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.
2021-03-03 12:51:48 -08:00
Jack May
a9c8dbfd0c
Add error reporting to system program ( #15644 )
2021-03-02 21:44:25 -08:00
Jeff Washington (jwash)
a2c47db920
extract expected cluster type ( #15615 )
...
* extract expected cluster type
* fix clippy warning
* more clippy
2021-03-02 13:55:34 -06:00