mergify[bot]
bbafd9783b
Add secondary indexes ( #14212 ) ( #14381 )
...
(cherry picked from commit 5affd8aa72
)
Co-authored-by: carllin <wumu727@gmail.com >
2021-01-01 07:29:48 +00:00
mergify[bot]
87a578a1f9
Simple cap by including sysvars and native programs ( #13884 ) ( #14110 )
...
* Simpler cap by including sysvars and native programs
* Fix tests
* Add comment
* revert some unrelated code
* Update test_bank_update_sysvar_account for cap.
* Test cap. for add_native_program using new helper
* Improve the cap adjustment with new tests
* Fix typo...
* Adjust test for improved code coverage
* Rename simpler_capitalization => simple_capitalization
* More rename and bonus commenting
(cherry picked from commit de9ac43ebf
)
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
2020-12-14 13:29:09 +00:00
mergify[bot]
a2c32d7d0e
shares the lock on gossip when processing prune messages ( #13339 ) ( #13422 )
...
Processing prune messages acquires an exclusive lock on gossip:
https://github.com/solana-labs/solana/blob/55b0428ff/core/src/cluster_info.rs#L1824-L1825
This can be reduced to a shared lock if active-sets are changed to use
atomic bloom filters:
https://github.com/solana-labs/solana/blob/55b0428ff/core/src/crds_gossip_push.rs#L50
(cherry picked from commit 8f0796436a
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-11-05 17:18:22 +00:00
mergify[bot]
b15d826476
Allow feature builtins to overwrite existing builtins ( #13403 ) ( #13420 )
...
* Allow feature builtins to overwrite existing builtins
* Add feature_builtin ActivationType
* Correctly retain idempotent for replacing case
* Fix test
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
(cherry picked from commit bc62313c66
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2020-11-05 16:51:25 +00:00
mergify[bot]
40a3885d3b
Native/builtin programs now receive an InvokeContext (bp #13286 ) ( #13298 )
...
* Native/builtin programs now receive an InvokeContext
(cherry picked from commit df8dab9d2b
)
* Remove MessageProcessor::loaders
(cherry picked from commit 2664a1f7ef
)
* Remove Entrypoint type
(cherry picked from commit 225bed11c7
)
* Remove programs clone()
(cherry picked from commit 33884d847a
)
* Add sol_log_compute_units syscall
(cherry picked from commit 66e51a7363
)
* Add Bank::set_bpf_compute_budget()
(cherry picked from commit 7d686b72a0
)
* Rebase
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-30 07:47:17 +00:00
mergify[bot]
010794806a
Finer grained AccountsIndex locking ( #12787 ) ( #13240 )
...
Co-authored-by: Carl Lin <carl@solana.com >
Co-authored-by: carllin <wumu727@gmail.com >
Co-authored-by: Carl Lin <carl@solana.com >
2020-10-28 23:46:54 +00:00
mergify[bot]
eecdacac42
Don't hold dashmap write lock in store create ( #13007 ) ( #13230 )
...
Co-authored-by: Carl Lin <carl@solana.com >
(cherry picked from commit c8fc0a6ba1
)
Co-authored-by: carllin <wumu727@gmail.com >
2020-10-28 11:36:28 +00:00
mergify[bot]
429f130532
Switch accounts storage lock to DashMap ( #12126 ) ( #13223 )
...
Co-authored-by: Carl Lin <carl@solana.com >
(cherry picked from commit f8d338c9cb
)
Co-authored-by: carllin <wumu727@gmail.com >
2020-10-28 08:07:28 +00:00
mergify[bot]
4ecb78d303
Move KeyedAccount out of solana-program. Native programs are not supported by solana-program (bp #13159 ) ( #13181 )
...
* Move KeyedAccount out of solana-program. Native programs are not supported by solana-program
(cherry picked from commit 1b343665a1
)
# Conflicts:
# programs/bpf/benches/bpf_loader.rs
* rebase
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-27 05:43:14 +00:00
mergify[bot]
edfbd8d65a
Add replacements for Pubkey::new_rand()/Hash::new_rand() (bp #12987 ) ( #13076 )
...
* Add pubkey_new_rand(), mark Pubkey::new_rand() deprecated
(cherry picked from commit 0e68ed6a8d
)
* Add hash_new_rand(), mark Hash::new_rand() as deprecated
(cherry picked from commit 76f11c7dae
)
* Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand`
(cherry picked from commit 7bc073defe
)
# Conflicts:
# programs/bpf/benches/bpf_loader.rs
# runtime/benches/accounts.rs
# runtime/src/accounts.rs
* Run `codemod --extensions rs Hash::new_rand solana_sdk:#️⃣ :new_rand`
(cherry picked from commit 17c391121a
)
* Remove unused pubkey::Pubkey imports
(cherry picked from commit 959880db60
)
# Conflicts:
# runtime/src/accounts_index.rs
* Resolve conflicts
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-22 05:08:01 +00:00
carllin
06f84c65f1
Fix rooted accounts cleanup, simplify locking ( #12194 )
...
Co-authored-by: Carl Lin <carl@solana.com >
2020-09-28 16:04:46 -07:00
Michael Vines
31696a1d72
Port BPFLoader2 activation to FeatureSet and rework built-in program activation
2020-09-28 12:50:19 -07:00
behzad nouri
bb183938d9
adds an atomic variant of the bloom filter ( #12422 )
...
For crds_gossip_pull, we want to parallelize build_crds_filters, which
requires concurrent writes to bloom filters.
This commit implements a variant of the bloom filter which uses atomics
for its bits vector and so is thread-safe.
2020-09-24 18:37:19 +00:00
sakridge
68e5a2ef56
Add RPC notify and banking keys debug ( #12396 )
2020-09-23 18:46:42 -07:00
Ryo Onodera
de4a613610
Check bank capitalization ( #11927 )
...
* Check bank capitalization
* Simplify and unify capitalization calculation
* Improve and add tests
* Avoid overflow and inhibit automatic restart
* Fix test
* Tweak checked sum for cap. and add tests
* Fix broken build after merge conflicts..
* Rename to ClusterType
* Rename confusing method
* Clarify comment
* Verify cap. in rent and inflation tests
Co-authored-by: Stephen Akridge <sakridge@gmail.com >
2020-09-12 01:48:06 +09:00
Ryo Onodera
53b8ea4464
Rename to ClusterType and restore devnet compat. ( #12068 )
...
* Rename to ClusterType and restore devnet compat.
* De-duplicate parse code and add comments
* Adjust default Devnet genesis & reduce it in tests
2020-09-08 23:55:09 +09:00
carllin
af08221aec
Switch account hashing to blake3 ( #11969 )
...
* Switch account hashing to blake3
Co-authored-by: Carl <carl@solana.com >
2020-09-02 00:37:36 -07:00
carllin
7e25130529
Send votes from banking stage to vote listener ( #11434 )
...
* Send votes from banking stage to vote listener
Co-authored-by: Carl <carl@solana.com >
2020-08-07 11:21:35 -07:00
sakridge
8bf3a0aa05
accounts_clean: Convert stack dependency calculation with iterative ( #11067 )
...
* accounts_clean: Convert stack dependency calculation with iterative
* optimize clean with by creating a reverse-lookup hashset of the affected
keys
* Add dependency bench
reduce bench
* Huge clean
2020-07-15 06:49:22 -07:00
Greg Fitzgerald
7ade330b23
Rename Client methods to match proposed BanksClient ( #10793 )
2020-06-25 03:35:38 +00:00
Greg Fitzgerald
1c498369b5
Remove fee-payer guesswork from Message and Transaction ( #10776 )
...
* Make Message::new_with_payer the default constructor
* Remove Transaction::new_[un]signed_instructions
These guess the fee-payer instead of stating it explicitly
2020-06-24 14:52:38 -06:00
Kristofer Peterson
e23340d89e
Clippy cleanup for all targets and nighly rust (also support 1.44.0) ( #10445 )
...
* address warnings from 'rustup run beta cargo clippy --workspace'
minor refactoring in:
- cli/src/cli.rs
- cli/src/offline/blockhash_query.rs
- logger/src/lib.rs
- runtime/src/accounts_db.rs
expect some performance improvement AccountsDB::clean_accounts()
* address warnings from 'rustup run beta cargo clippy --workspace --tests'
* address warnings from 'rustup run nightly cargo clippy --workspace --all-targets'
* rustfmt
* fix warning stragglers
* properly fix clippy warnings test_vote_subscribe()
replace ref-to-arc with ref parameters where arc not cloned
* Remove lock around JsonRpcRequestProcessor (#10417 )
automerge
* make ancestors parameter optional to avoid forcing construction of empty hash maps
Co-authored-by: Greg Fitzgerald <greg@solana.com >
2020-06-09 09:38:14 +09:00
Jack May
36627fb8b3
move builtin programs out of bank ( #10132 )
...
automerge
2020-05-19 19:45:30 -07:00
jon-chuang
16af67d5e1
Focus bench on squash and fix log errors ( #9759 )
...
* Focus bench on squash
Squash performance does not depend on adding a small number accounts. It mainly depends on total number of accounts that need to be hashed during freeze operation. New bank means a clone of accounts db, so we don't get previous errors in log.
* Fix fmt and add slot counter
2020-05-05 08:33:41 -07:00
Jack May
068f12fd6f
Add Cross-program invocations ( #9582 )
2020-04-28 14:33:56 -07:00
Jack May
efad193180
Make default programs static ( #9717 )
2020-04-27 21:05:12 -07:00
Greg Fitzgerald
76b1c2baf0
One less alloc per transaction ( #9705 )
...
* One less alloc per transaction
* Fix benches
* Fix compiler warnings in bench build
* Fix move build
* Fix bench
2020-04-24 13:03:46 -06:00
Jack May
58887c591b
Add and update tests ( #9566 )
2020-04-18 17:04:13 -07:00
Jack May
ad0482be73
Revert "Add native loader entry points ( #9275 )" Breaks genesis_config abi ( #9377 )
...
This reverts commit ed86d8d1fc
.
2020-04-08 14:36:18 -07:00
Jack May
ed86d8d1fc
Add native loader entry points ( #9275 )
2020-04-03 17:40:59 -07:00
Jack May
130c0b484d
Enforce an executable's rent exemption in the runtime ( #9134 )
2020-03-31 10:07:38 -07:00
Michael Vines
88ba8439fc
Add frozen account support ( #8989 )
...
automerge
2020-03-22 11:10:04 -07:00
sakridge
947a339714
Add snapshot hash of full accounts state ( #8295 )
...
* Add snapshot hash of full accounts state
* Use normal hashing for the accounts delta state
* Add merkle
2020-02-22 13:46:40 -08:00
Jack May
0e6aca5a7e
Reorganize message processor in prep for cross-program-invocation ( #8338 )
2020-02-21 11:30:00 -08:00
Tyera Eulberg
ab361a8073
Rename KeypairUtil to Signer ( #8360 )
...
automerge
2020-02-20 13:28:55 -08:00
Jack May
83718a3b3e
Cleanup runtime use syntax ( #8002 )
2020-01-28 17:03:20 -08:00
Jack May
c95e5346a4
Boot the mut ( #7926 )
2020-01-22 17:54:06 -08:00
Jack May
023074650f
Allow the same account to be passed multiple times to a single instruction ( #7795 )
2020-01-22 09:11:56 -08:00
Justin Starry
87598c7612
Consolidate tx error counters and update metrics dashboard ( #7724 )
...
automerge
2020-01-16 23:26:50 -08:00
Ryo Onodera
3c361eb759
Check account hashes in snapshot ( #7559 )
...
* Check for incorrect hash value
* Finish up checking for incorrect hash value
* Fix comment a bit
Co-authored-by: sakridge <sakridge@gmail.com >
2019-12-20 09:39:30 +09:00
Justin Starry
b7d4330dd4
Fail fast if account paths cannot be canonicalized ( #7300 )
...
* Canonicalize account paths to avoid symlink issues
* fixes
2019-12-05 21:41:29 -05:00
Greg Fitzgerald
c09469fa3a
Rename verify_instruction() to verify_account_changes() ( #7020 )
2019-11-18 15:01:14 -07:00
Justin Starry
9807f47d4e
Rename genesis block to genesis config ( #6816 )
2019-11-08 23:56:57 -05:00
Jack May
b9d8e3e55a
Only copy whats needed to verify an instruction after processing ( #6669 )
2019-11-05 10:57:32 -08:00
Trent Nelson
5416c114cf
SDK: Add sysvar to expose recent block hashes to programs ( #6663 )
...
* SDK: Add sysvar to expose recent block hashes to programs
* Blockhashes is one word
* Missed one
* Avoid allocs on update
* unwrap_or_else
* Use iterators
* Add microbench
* Revert "unwrap_or_else"
This reverts commit a8f8c3bfbe
.
* Revert "Avoid allocs on update"
This reverts commit 486f01790c
.
2019-11-04 10:51:15 -07:00
Rob Walker
c9cea2152b
optimize verify_instruction ( #6539 )
2019-10-25 21:47:16 -07:00
Jack May
d68e2c4d06
Revert "Make instruction data opaque to runtime ( #6470 )" ( #6564 )
...
This reverts commit 6eeca9c6f1
.
2019-10-25 16:22:41 -07:00
Jack May
6eeca9c6f1
Make instruction data opaque to runtime ( #6470 )
2019-10-24 22:38:57 -07:00
Rob Walker
f46a2cec3c
owner and executable checks ( #6526 )
...
* owner_checks
* only system program may assign owner, and only if pre.owner is system
* moar coverage!
* moar coverage, allow re-assignment IFF data is zeroed
2019-10-24 11:06:00 -07:00
sakridge
35ed432d1a
Make benchmark useful ( #6440 )
...
function is verify_hash_internal_state
2019-10-18 12:59:47 -07:00