Alexander Meißner
65ee3a6bdd
Refactors the common code of test and bench targets into the solana_runtime::bpf_test_utils module. ( #13203 )
2020-10-29 10:04:47 +01:00
Jack May
c458d4b213
move Account to solana-sdk ( #13198 )
2020-10-28 22:01:07 -07:00
sakridge
d5e439037b
Make bad_bank_hash test faster ( #13206 )
2020-10-28 21:44:42 -07:00
Tyera Eulberg
c2dbf53d76
Update FeatureSet::active to include slot-activated ( #13256 )
...
* Update FeatureSet::active to include slot-activated
* Clippy suggestion
2020-10-29 02:34:19 +00:00
Ryo Onodera
4698ee5e4a
Improve final report of ledger-tool capitalization ( #13232 )
2020-10-28 17:10:09 +00:00
Ryo Onodera
7d2962135d
Use pico inflation for ledger-tool capitalization --enable-inflation ( #13215 )
...
* Use pico inflation for ledger-tool capitalization --enable-inflation
* rust fmt
2020-10-28 15:30:39 +09:00
Justin Starry
631f029fe9
Account for forward delay in transaction simulation ( #13199 )
2020-10-27 17:25:08 +00:00
Michael Vines
1b343665a1
Move KeyedAccount out of solana-program. Native programs are not supported by solana-program
2020-10-26 18:54:54 -07:00
Greg Fitzgerald
f58bc8589d
Add Bank::get_signature_status_with_blockhash() ( #13167 )
...
Get the signature status in O(1) time, instead of O(n) where
n is the number of blockhashes in the StatusCache.
2020-10-26 23:52:57 +00:00
Michael Vines
a4956844bd
Update frozen_abi hashes
...
The movement of files in sdk/ caused ABI hashes to change
2020-10-24 08:37:55 -07:00
sakridge
7d2729f6bd
shrink debug ( #13089 )
2020-10-23 08:05:19 -07:00
Michael Vines
959880db60
Remove unused pubkey::Pubkey imports
2020-10-21 19:08:13 -07:00
Michael Vines
17c391121a
Run `codemod --extensions rs Hash::new_rand solana_sdk: #️⃣ :new_rand`
2020-10-21 19:08:13 -07:00
Michael Vines
7bc073defe
Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand`
2020-10-21 19:08:13 -07:00
carllin
e6b821c392
Finer grained AccountsIndex locking ( #12787 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-21 17:05:27 -07:00
carllin
c8fc0a6ba1
Don't hold dashmap write lock in store create ( #13007 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-21 12:54:09 -07:00
Ryo Onodera
608b81b412
Port various rent fixes to runtime feature ( #12842 )
...
* Port various rent fixes to runtime feature
* Fix CI
* Use more consistent naming...
2020-10-21 22:19:25 +09:00
Michael Vines
6858950f76
Remove frozen ABI modules from solana-sdk
2020-10-20 16:11:30 -07:00
Ryo Onodera
c0675968b1
Support Debug Bank ( #13017 )
2020-10-21 01:05:45 +09:00
sakridge
456eae6ccb
Calculate accounts hash async in accounts background service ( #12852 )
2020-10-19 09:48:29 -07:00
behzad nouri
48283161c3
passes through feature-set to gossip requests handling ( #12878 )
...
* passes through feature-set to down to gossip requests handling
* takes the feature-set from root_bank instead of working_bank
2020-10-15 20:54:21 +00:00
sakridge
4f6ebbdbe0
Add timings for store accounts ( #12882 )
2020-10-15 12:14:39 -07:00
Jack May
3f9e6a600b
program log pubkey as base58 ( #12901 )
2020-10-15 09:11:54 -07:00
Michael Vines
4b04ed86b6
Don't report RewardType::Fee when none was awarded
2020-10-14 09:06:20 -07:00
carllin
f8d338c9cb
Switch accounts storage lock to DashMap ( #12126 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-13 18:29:50 -07:00
Ryo Onodera
7de7efe96c
Add nop feature set for upcoming ported rent fixes ( #12841 )
2020-10-13 16:34:49 +00:00
Jack May
c24da1ee16
fix native_loader behavior for invalid accounts ( #12814 )
2020-10-12 13:40:04 -07:00
Eric Williams
1ab36203de
Retry inflation parameter update along with documentation updates ( #12778 )
...
* update initial inflation parameter
* update economics section of docs
2020-10-12 13:10:57 -07:00
Ryo Onodera
2f5bb7e507
Move no-0-rent rent dist. behavior under feature ( #12804 )
2020-10-12 08:47:52 +00:00
Michael Vines
1fc7c1ecee
Don't bother paying 0 rent
2020-10-10 17:02:26 +00:00
Michael Vines
c5c8da1ac0
Expose all rewards (fees, rent, voting and staking) in RPC getConfirmedBlock and the cli
2020-10-09 21:54:13 -07:00
Michael Vines
403790760c
Default to 50% rent burn
2020-10-09 21:52:31 -07:00
Tyera Eulberg
b028c47d2b
Correct Bank timestamp drift every slot ( #12737 )
...
* Move timestamp helper to sdk
* Add Bank method for getting timestamp estimate
* Return sysvar info from Bank::clock
* Add feature-gated timestamp correction
* Rename unix_timestamp method to be more descriptive
* Review comments
* Add timestamp metric
2020-10-09 21:53:41 +00:00
Jack May
c3907be623
Add adjustable stack size and call depth ( #12728 )
2020-10-09 13:07:09 -07:00
carllin
16d45b8480
Fix zero-lamport accounts preventing slot cleanup ( #12606 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-09 12:40:08 -07:00
Jack May
2cd7cd3149
Bump max invoke depth to 4 ( #12742 )
2020-10-09 10:33:12 -07:00
carllin
c879e7c1ad
Fix fee mismatch on snapshot deserialize ( #12697 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-08 23:44:41 -07:00
Michael Vines
c8807d227a
Add inflation_kill_switch feature
2020-10-08 21:31:31 -07:00
Josh
8f5431551e
Store program logs in blockstore / bigtable (TransactionWithStatusMeta) ( #12678 )
...
* introduce store program logs in blockstore / bigtable
* fix test, transaction logs created for successful transactions
* fix test for legacy bincode implementation around log_messages
* only api nodes should record logs
* truncate transaction logs to 100KB
* refactor log truncate for improved coverage
2020-10-08 12:06:15 -07:00
Jack May
973f0965e1
Add ristretto multiply syscall ( #12699 )
2020-10-06 23:52:13 -07:00
carllin
64c4861e04
Fix error in max root calculation ( #12661 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-03 15:18:58 -07:00
carllin
adf6f748c0
Disable rent in flaky test ( #12658 )
...
* Disable rent in test
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-03 12:44:03 -07:00
Jack May
adeb06e550
Check CPI program is executable ( #12644 )
2020-10-02 13:55:22 -07:00
Ryo Onodera
e3773d919c
Avoid overflow when computing rent distribution ( #12112 )
...
* Avoid overflow when computing rent distribution
* Use assert_eq!....
* Fix tests
* Add test
* Use FeatureSet
* Add comments
* Address review comments
* Tweak a bit.
* Fix fmt
2020-10-01 11:59:28 +09:00
Tyera Eulberg
c31a34fbcb
Include post balance information for rewards ( #12598 )
...
* Include post balance information for rewards
* Add post-balance to stored Reward struct
* Handle extended Reward in bigtable
Co-authored-by: Michael Vines <mvines@gmail.com>
2020-09-30 17:57:06 -06:00
Jack May
058bca6632
add sha256 syscall ( #12569 )
2020-09-29 23:29:20 -07:00
Trent Nelson
3c7b9c2938
Move remaining nonce utils from runtime to SDK
2020-09-30 05:45:42 +00:00
Trent Nelson
65b868f4eb
Move nonced tx helpers to SDK
2020-09-30 05:45:42 +00:00
Trent Nelson
caec631344
runtime: Move prepare_if_nonce_account into accounts
2020-09-30 05:45:42 +00:00
Michael Vines
f57af4fec2
epoch_rewards datapoint now includes the correct rewards epoch (previous epoch)
2020-09-29 22:44:02 -07:00
Jack May
575400c83f
Run tests with features on rather then off ( #12567 )
2020-09-29 20:18:28 -07:00
Michael Vines
82848d6c73
Include active stake in 'epoch_rewards' datapoint
2020-09-29 16:50:10 -07:00
Jack May
74fcb184b2
Pipe FeatureSet though InvokeContext ( #12536 )
...
* Pipe FeatureSet though InvokeContext
* gate program size cap
* nit
2020-09-29 21:36:30 +00:00
Jack May
2ff983647f
Move process_instruction defs to runtime ( #12507 )
2020-09-29 01:36:46 -07:00
Tyera Eulberg
89621adca7
Rpc -> proper optimistic confirmation ( #12514 )
...
* Add service to track the most recent optimistically confirmed bank
* Plumb service into ClusterInfoVoteListener and ReplayStage
* Clean up test
* Use OptimisticallyConfirmedBank in RPC
* Remove superfluous notifications from RpcSubscriptions
* Use crossbeam to avoid mpsc recv_timeout panic
* Review comments
* Remove superfluous last_checked_slots, but pass in OptimisticallyConfirmedBank for complete correctness
2020-09-28 20:43:05 -06: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
833ad20b01
Add Builtin AbiExample
2020-09-28 12:50:19 -07:00
Michael Vines
31696a1d72
Port BPFLoader2 activation to FeatureSet and rework built-in program activation
2020-09-28 12:50:19 -07:00
Michael Vines
2956cc5aed
Add a couple feature tests
2020-09-28 12:24:09 -07:00
Michael Vines
f9a74b51ef
Add feature to resolve spl-token v2 multisig bug
2020-09-28 09:25:48 -07:00
Michael Vines
aa5c008fa8
Add pico-inflation feature
2020-09-28 08:25:00 -07:00
Jack May
965f653471
Add copy-on-write executor cache ( #12502 )
...
* Add copy-on-write executor cache
* Add remove_executor function to the bank
2020-09-26 17:54:11 +00:00
Michael Vines
a36252bfa0
Remove continues from compute_active_feature_set()
2020-09-26 06:10:50 +00:00
Michael Vines
b15d6148dd
Deerror
2020-09-25 22:18:43 -07:00
carllin
00b36e6db2
Fix ref-count for multiple stores to the same pubkey in a slot, fixes zero lamport purge detection ( #12462 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-09-25 18:54:48 -07:00
Michael Vines
e50386f928
Add epoch rewards metric datapoint
2020-09-26 01:05:57 +00:00
Michael Vines
5d6410c1cb
Port fix_recent_blockhashes_sysvar_delay to FeatureSet
2020-09-25 15:07:25 -07:00
Michael Vines
5dcf348098
Improve 'Failed to create snapshot archive' warning message
2020-09-25 20:02:49 +00:00
Michael Vines
e39fac9f01
Rename active() to is_active()
2020-09-25 11:40:36 -07:00
Michael Vines
199940d683
cargo fmt
2020-09-25 11:40:36 -07:00
Michael Vines
92406cf9a0
FeatureSet test
2020-09-25 11:40:36 -07:00
Michael Vines
cc6ba1e131
Remove id field
2020-09-25 11:40:36 -07:00
Michael Vines
c10da16d7b
Port instructions sysvar and secp256k1 program activation to FeatureSet
2020-09-25 11:40:36 -07:00
Michael Vines
93259f0bae
Runtime feature activation framework
2020-09-25 11:40:36 -07:00
Jack May
d00453f747
Drain the entire compute budget ( #12478 )
2020-09-25 18:08:10 +00:00
Justin Starry
1c970bb39f
Pre-construct cpi instruction recorders before message processing ( #12467 )
2020-09-25 20:42:28 +08: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
Justin Starry
6601ec8f26
Record and store invoked instructions in transaction meta ( #12311 )
...
* Record invoked instructions and store in transaction meta
* Enable cpi recording if transaction sender is some
* Rename invoked to innerInstructions
2020-09-24 22:36:22 +08:00
sakridge
68e5a2ef56
Add RPC notify and banking keys debug ( #12396 )
2020-09-23 18:46:42 -07:00
carllin
55be8d4016
Move dropping AppendVecs outside lock ( #12408 )
...
* Move drop outside lock
Co-authored-by: Carl Lin <carl@solana.com>
2020-09-23 14:17:49 -07:00
sakridge
22d8b3c3f8
Cleanup and feature gate instruction processing ( #12359 )
2020-09-20 10:58:12 -07:00
sakridge
f561eb917f
Add way to look at tx instructions ( #11943 )
2020-09-19 12:17:46 -07:00
Ryo Onodera
cb8661bd49
Persistent tower ( #10718 )
...
* Save/restore Tower
* Avoid unwrap()
* Rebase cleanups
* Forcibly pass test
* Correct reconcilation of votes after validator resume
* d b g
* Add more tests
* fsync and fix test
* Add test
* Fix fmt
* Debug
* Fix tests...
* save
* Clarify error message and code cleaning around it
* Move most of code out of tower save hot codepath
* Proper comment for the lack of fsync on tower
* Clean up
* Clean up
* Simpler type alias
* Manage tower-restored ancestor slots without banks
* Add comment
* Extract long code blocks...
* Add comment
* Simplify returned tuple...
* Tweak too aggresive log
* Fix typo...
* Add test
* Update comment
* Improve test to require non-empty stray restored slots
* Measure tower save and dump all tower contents
* Log adjust and add threshold related assertions
* cleanup adjust
* Properly lower stray restored slots priority...
* Rust fmt
* Fix test....
* Clarify comments a bit and add TowerError::TooNew
* Further clean-up arround TowerError
* Truly create ancestors by excluding last vote slot
* Add comment for stray_restored_slots
* Add comment for stray_restored_slots
* Use BTreeSet
* Consider root_slot into post-replay adjustment
* Tweak logging
* Add test for stray_restored_ancestors
* Reorder some code
* Better names for unit tests
* Add frozen_abi to SavedTower
* Fold long lines
* Tweak stray ancestors and too old slot history
* Re-adjust error conditon of too old slot history
* Test normal ancestors is checked before stray ones
* Fix conflict, update tests, adjust behavior a bit
* Fix test
* Address review comments
* Last touch!
* Immediately after creating cleaning pr
* Revert stray slots
* Revert comment...
* Report error as metrics
* Revert not to panic! and ignore unfixable test...
* Normalize lockouts.root_slot more strictly
* Add comments for panic! and more assertions
* Proper initialize root without vote account
* Clarify code and comments based on review feedback
* Fix rebase
* Further simplify based on assured tower root
* Reorder code for more readability
Co-authored-by: Michael Vines <mvines@gmail.com>
2020-09-19 14:03:54 +09:00
sakridge
3930cb865a
Add keccak-secp256k1 instruction ( #11839 )
...
* Implement keccak-secp256k1 instruction
Verifies eth addreses with ecrecover function
* Move secp256k1 test
2020-09-15 18:23:21 -07:00
sakridge
3d4b9bb00d
Friendlier error message for mapping failures ( #12213 )
2020-09-15 15:43:17 -07:00
Ryo Onodera
629572831b
Enable retirement of rent collect in Bank::deposit() on testnet ( #12223 )
2020-09-15 06:49:26 +00:00
Ryo Onodera
241e6f1ecf
Enable stricter check on rent-exempt accounts on testnet ( #12224 )
2020-09-15 06:48:48 +00:00
Ryo Onodera
7d48339b7c
Enable eager-rent-collect-across-gapped-epochs bugfix ( #12219 )
2020-09-15 14:13:40 +09:00
Ryo Onodera
c1e76fd5f7
Fix build breakage ( #12220 )
2020-09-15 13:04:04 +09:00
Jack May
3278d78f08
Cache re-usable work performed by the loader ( #12135 )
2020-09-14 17:42:37 -07:00
Jack May
daba17a95c
Nit, short name ( #12195 )
2020-09-12 01:32:38 +00: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
c274e26eb8
Prevent unbound memory growth by blockstore_processor ( #12110 )
...
* Prevent unbound memory growth by blockstore_processor
* Promote log to info! considering infrequency
* Exclude the time of freeing from interval...
* Skip not-shrinkable slots even if forced
* Add comment
2020-09-09 12:05:10 +09:00
Ryo Onodera
5b2442d54e
Reduce cap by rent's leftover as temporary measure ( #12111 )
...
* Reduce cap by rent's leftover as temporary measure
* Reset testnet cap. on start and more logs
2020-09-09 03:53:48 +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
anatoly yakovenko
c67f8bd821
Forward transactions to the expected leader instead of your own TPU port ( #12004 )
...
* Use PoHRecorder to send to the right leader
* cleanup
* fmt
* clippy
* Cleanup, fix bug
Co-authored-by: Carl <carl@solana.com>
2020-09-08 17:00:49 +08:00
Michael Vines
d3750b47d2
Compress snapshot archive within the validator to reduce system dependencies
2020-09-06 22:48:12 -07:00
carllin
a13efc52b3
Add unlock epochs for blake3 ( #12054 )
...
Co-authored-by: Carl <carl@solana.com>
2020-09-04 15:21:15 -07:00
Ryo Onodera
36a294aae0
Fix test ( #12013 )
2020-09-03 16:28:54 +09:00
Ryo Onodera
fb71ee60aa
Purge storage rewards from accounts db for testnet ( #11996 )
...
* Purge storage rewards from accounts db for testnet
* Fix test failing only on stable
2020-09-03 15:42:27 +09:00