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
Ryo Onodera
4b1cb51a3e
Move forward token2 native mint testnet epoch ( #12007 )
2020-09-03 06:38:51 +00:00
Ryo Onodera
89bca6110a
Clarify comments and names in inflation code ( #11977 )
2020-09-03 14:15:12 +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
Ryo Onodera
46aac4819a
Use conventional special self notation ( #11990 )
2020-09-02 06:49:34 +00:00
Michael Vines
7341e60043
Ensure that the spl-token 2 native mint account is owned by the spl-token 2 program.
...
Workaround for https://github.com/solana-labs/solana-program-library/issues/374 until spl-token 3 is shipped
2020-09-01 17:09:36 +00:00
Ryo Onodera
11ac4eb21d
Add tests for the Debug and activation Vecs ( #11926 )
...
* Add tests for the Debug and activation Vecs
* Rename a bit
2020-09-01 17:48:25 +09:00
Michael Vines
f385af25e5
Simplify get_programs(), specify a real Preview activation epoch for new BPFLoader
2020-08-31 09:10:25 +00:00
sakridge
c4253dc0f9
Update to rayon 1.4.0 ( #11898 )
2020-08-28 21:00:11 -07:00
Michael Vines
450c667aa7
Add methods to adjust rent burn percentage, and hashes per tick
2020-08-28 16:35:27 -07:00
Ryo Onodera
57174cdabe
Make ledger-tool accounts print rent_epoch and slot ( #11845 )
2020-08-27 12:28:40 +09:00
Jack May
ea179ad762
Bump compute budget ( #11864 )
...
* Bump compute budget
* nudge
2020-08-26 21:48:51 +00:00
Jack May
db4bbb3569
Switch programs activation to whole-set based gating ( #11750 )
...
* Implement Debug for MessageProcessor
* Switch from delta-based gating to whole-set gating
* Remove dbg!
* Fix clippy
* Clippy
* Add test
* add loader to stable operating mode at proper epoch
* refresh_programs_and_inflation after ancestor setup
* Callback via snapshot; avoid account re-add; Debug
* Fix test
* Fix test and fix the past history
* Make callback management stricter and cleaner
* Fix test
* Test overwrite and frozen for native programs
* Test epoch callback with genesis-programs
* Add assertions for parent bank
* Add tests and some minor cleaning
* Remove unsteady assertion...
* Fix test...
* Fix DOS
* Skip ensuring account by dual (whole/delta) gating
* Fix frozen abi implementation...
* Move compute budget constatnt init back into bank
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2020-08-26 01:49:15 +09:00
Ryo Onodera
dbd079f54c
Update comment ( #11826 )
2020-08-25 22:36:11 +09:00
Jack May
8d362f682b
The constraints on compute power a program can consume is limited only to its instruction count ( #11717 )
2020-08-21 15:31:19 -07:00
Greg Fitzgerald
f02a78d8ff
Add StakeInstruction::AuthorizeWithSeed ( #11700 )
...
* Add StakeInstruction::AuthorizeWithSeed
* chore: add authorize-with-seed to web.js
* fix: add address_owner
* Add SystemInstruction::TransferWithSeed
* Update ABI hash
* chore: better variable names
* Add AuthorizeWithSeedArgs
* Reorder and rename arguments for clarity
2020-08-21 18:28:01 +00:00
carllin
b7ed06b17a
Cleanup test utilities ( #11723 )
...
* Add voting utility
* Add blockstore utility
Co-authored-by: Carl <carl@solana.com>
2020-08-20 05:04:38 +00:00
Justin Starry
9e89a963d9
Fully enable cross program support in mainnet-beta
2020-08-18 06:30:43 -07:00
Michael Vines
d15173ad9d
Address latest nightly clippy lints, but globally disable stable_sort_primitive
2020-08-17 22:36:10 -07:00
Jack May
e9b610b8df
Add SystemInstruction::CreateAccount support to CPI ( #11649 )
2020-08-17 13:38:42 -07:00
Ryo Onodera
23fa84b322
Re-do rent collection check on rent-exempt account ( #11349 )
...
* wip: re-do rent collection check on rent-exempt account
* Let's see how the ci goes
* Restore previous code
* Well, almost all new changes are revertable
* Update doc
* Add test and gating
* Fix tests
* Fix tests, especially avoid to change abi...
* Fix more tests...
* Fix snapshot restore
* Align to _new_ with better uninitialized detection
2020-08-17 14:22:16 +09:00
Jack May
7c736f71fe
Make BPF Loader static ( #11516 )
2020-08-14 12:32:45 -07:00
Greg Fitzgerald
574c356863
Add CommitmentSlots::new_from_slot() ( #11600 )
2020-08-13 03:51:15 +00:00
Ryo Onodera
6c242f3fec
Fix bad rent in Bank::deposit as if since epoch 0 ( #10468 )
...
* Fix bad rent in Bank::deposit as if since epoch 0
* Remove redundant predicate
* Rename
* Start to add tests with some cleanup
* Forgot to add refactor code...
* Enchance test
* Really fix rent timing in deposit with robust test
* Simplify new behavior by disabling rent altogether
2020-08-12 00:04:32 +09: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
Greg Fitzgerald
bad486823c
Add a client for BankForks ( #10728 )
...
Also:
* Use BanksClient in solana-tokens
2020-08-07 08:45:17 -06:00
sakridge
770d3d383c
Accounts hash calculation metrics ( #11433 )
2020-08-06 21:39:10 -07:00
Greg Fitzgerald
3fdd8ffdf0
Remove circular dep between InstructionError and SystemError ( #11427 )
2020-08-06 22:04:43 +00:00
Jack May
03263c850a
Force program address off the curve ( #11323 )
2020-08-05 16:35:54 -07:00
Trent Nelson
e12ab9d0dd
Bump version to 1.4.0
2020-08-05 12:04:15 -06:00
Trent Nelson
29b3265dc7
Sanitize transactions during RPC preflight test
2020-08-05 06:06:57 +00:00
Trent Nelson
3f73affb2e
Add From for SanitizeError > TransactionError
2020-08-05 06:06:57 +00:00
Michael Vines
1d40685b8e
Remove support for 1.1.0 version snapshots
2020-08-04 01:01:50 +00:00
Michael Vines
7db144c5da
Remove legacy_system_instruction_processor0
2020-08-04 00:45:09 +00:00
Michael Vines
eefcf484cb
clippy
2020-08-03 18:35:15 +00:00
Greg Fitzgerald
1d2426ddbc
Move simulate_transaction from rpc to bank ( #11294 )
2020-07-30 19:15:45 +00:00
Jack May
2dbed80e48
Disable cross-program invocations for OperatingMode::Stable ( #11272 )
2020-07-29 15:29:52 -07:00
Trent Nelson
e553a98d2f
Rerere-enable RecentBlockhashes fix on testnet (epoch 76)
2020-07-29 02:43:10 +00:00
Ryo Onodera
3e4f49f9c9
Fix race condition between shrinking and cleaning ( #11235 )
...
* Fix race condition between shrinking and cleaning
* Minor formatting
* fix ci
* Update comments
* More update comment
* Adjust fn naming
2020-07-29 06:06:14 +09:00
Michael Vines
ed01591be6
Designate mainnet-beta epoch 61 as an upgrade epoch
2020-07-27 11:41:39 -07:00
Trent Nelson
7931579610
Remove accidental MB activation for RecentBlockhashes consistency fix
2020-07-26 17:34:52 +00:00
Trent Nelson
1f8df36b7d
Push back activation epochs
...
Effects:
- Re-enabling inflation
- Nonce FeeCalculator overwrite / RecentBlockhashes sysvar inconsistency fix
2020-07-24 12:54:31 -06:00
carllin
6578ad7d08
Speed up local cluster partitioning tests ( #11177 )
...
* Fix long local cluster partition tests by skipping slot warmup
Co-authored-by: Carl <carl@solana.com>
2020-07-23 18:50:42 -07:00
Tyera Eulberg
ca6480a8ac
Use OrderedIterator in collect_balances ( #11166 )
2020-07-23 13:35:10 -06:00
Jack May
e75f0bdfd3
panic on native load failure ( #11182 )
2020-07-23 12:11:01 -07:00
Tyera Eulberg
b5a6a2f461
Initialize BlockCommitmentCache slot and root on node boot ( #11178 )
...
* Initialize commitment-cache slot and root on node boot
* Ignore long tests
2020-07-23 11:44:57 -06:00
Michael Vines
a5dd848702
getEpochInfo RPC endpoint now includes the current block height
2020-07-21 17:24:07 -07:00
Tyera Eulberg
6c38369042
Use OrderedIterator in TransactionStatusService ( #11149 )
...
* Split out get-first-err for unit testing
* Add failing test
* Add missing ordering
2020-07-21 20:06:49 +00:00
Rob Walker
7cc2a6801b
fix rewards points ( #10914 )
...
* fix rewards points
* fixups
* * verify that we don't spend more in rewards than we've allocated for rewards
* purge f64s from calculations that could be done with integers
* test typical values
* simplify iteration over delegations some
* fixups
* Use try_from
* Add a comment for commission_split()
* Add assertion to detect inconsistent reward dist.
* Fix vote_balance_and_staked
* Don't overwrite accounts with stale copies
* Fix CI...
* Add tests for vote_balance_and_staked
* Add test for the determinism of update_rewards
* Revert "Don't overwrite accounts with stale copies"
This reverts commit 9886d085a69d695f48970f48f2f567e62ba05414.
* Make stake_delegation_accounts to return hashmap
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2020-07-21 13:57:25 +09:00
Greg Fitzgerald
23c2e55cbf
Use BlockCommitmentCache for RPC slots, take 2 ( #11137 )
...
* Use BlockCommitmentCache for RPC slots (#11103 )
* Add BankForks::highest_descendant(slot)
* Update debug messages
* Update core/src/rpc.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* cargo fmt
* Remove highest_descendant
* Fix test
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Fix crossed-in-flight compilation error
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2020-07-20 23:03:40 +00:00
Ryo Onodera
3db246f596
Add --warp-epoch and --force-inflation to ledger-tool cap. ( #11107 )
...
* Add --warp-epoch and --force-inflation to ledger-tool cap.
* Add more arguments
* Address review comments
* Fix message
* Fix various typos...
2020-07-20 19:09:38 +09:00
Michael Vines
d19cd3a18a
Revert "Use BlockCommitmentCache for RPC slots ( #11103 )" ( #11122 )
...
This reverts commit 815b0f31b4
.
2020-07-18 16:39:12 -07:00
Greg Fitzgerald
815b0f31b4
Use BlockCommitmentCache for RPC slots ( #11103 )
...
* Add BankForks::highest_descendant(slot)
* Update debug messages
* Update core/src/rpc.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* cargo fmt
* Remove highest_descendant
* Fix test
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2020-07-17 16:22:27 -06:00
Tyera Eulberg
a255b0fc86
Rename CacheSlotInfo to CommitmentSlots ( #11111 )
2020-07-17 17:54:49 +00:00
Michael Vines
e5d8c4383f
Add Bank support for "upgrade epochs" where all non-vote transactions will be rejected
2020-07-17 08:48:42 -07:00
Tyera Eulberg
fdff681bcc
Simplify BlockCommitmentCache slot info ( #11106 )
...
* Refactor BlockCommitmentCache, store a CacheSlotInfo
* Comma
2020-07-17 09:24:51 -06:00
Tyera Eulberg
1da9f9f05a
Gate nonce-overwrite change ( #11081 )
2020-07-15 21:45:30 +00: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
Trent Nelson
5741002a32
Mode gate RecentBlockhashes/BlockhashQueue sync
2020-07-14 00:36:31 +00:00
Trent Nelson
51283c931c
Fix test advancing banks from incomplete slots
2020-07-14 00:36:31 +00:00
Trent Nelson
837ac77c02
Bump goldens
2020-07-14 00:36:31 +00:00
Trent Nelson
5357ff6d60
Synchronize BlockhashQueue and RecentBlockhashes sysvar update
2020-07-14 00:36:31 +00:00
Trent Nelson
9cc379af6c
Factor locked portion of Bank::update_recent_blockhashes() out to helper
2020-07-14 00:36:31 +00:00
Tyera Eulberg
942c019d50
Add failing test
2020-07-14 00:36:31 +00:00
dependabot-preview[bot]
cee9177ec7
Bump libc from 0.2.71 to 0.2.72
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.71 to 0.2.72.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.71...0.2.72 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-13 15:00:27 -07:00
Ryo Onodera
de379a8cd6
Ensure to digest non-empty snapshot_storages and add asserts ( #11021 )
...
* Add asserts to detect not-digestable example data
* Ensure to digest non-empty snapshot_storages
2020-07-13 15:58:34 +00:00
Kristofer Peterson
ed5a2f2a90
Fold bank serialisation into serde snapshot ( #10581 )
...
* Move bank (de)serialisation logic from bank and snapshot_utils to serde_snapshot.
Add sanity assertions between genesis config and bank fields on deserialisation.
Atomically update atomic bool in quote_for_specialization_detection().
Use same genesis config when restoring snapshots in test cases.
* Tidy up namings and duplicate structs to version
* Apply struct renames to tests
* Update abi hashes
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2020-07-13 23:00:59 +09:00
sakridge
edf2b1ee85
Check for deleting key, make sure list is empty again ( #11007 )
2020-07-11 20:38:34 -07:00
Greg Fitzgerald
145906123a
Simplify use of SendTransactionService ( #10999 )
...
* Send transaction upon recv
This will allow us to move the channel to the public interface
* Use a channel, not a method, to communicate
* Pipeline the services
* Ignore unused return values
* Fix clippy warning
2020-07-11 01:14:41 +00:00
Jack May
57576b07ef
Fix warnings ( #10992 )
...
* Fix warnings
* disable warning
2020-07-10 20:02:55 +00:00
sakridge
631f051c68
Add jitter to cleanup to prevent all nodes cleaning at the same time ( #10936 )
2020-07-10 11:54:45 -07:00
sakridge
1f5070e569
Add custom print for Bloom object ( #10971 )
2020-07-10 11:53:24 -07:00
Ryo Onodera
f1c1152948
Fix skipped slot detection for eager rent collect ( #10890 )
2020-07-10 08:49:18 +09:00
Tyera Eulberg
25228ca957
Fix nonce fee_calculator overwrite ( #10973 )
...
* Add failing test
* Pass fee_calculator to prepare_if_nonce_account; only overwrite in error case
2020-07-09 20:22:21 +00:00
Greg Fitzgerald
16eeea4f82
Move SendTransactionService to solana_runtime ( #10972 )
2020-07-09 18:28:26 +00:00
Greg Fitzgerald
ebadbce920
Drop bank from BlockCommitmentCache ( #10959 )
...
* Remove bank reference from BlockCommitmentCache
* Don't use a Bank to create BlockCommitmentCache
* Rename recent_slot to slot
2020-07-09 00:50:13 +00:00
dependabot-preview[bot]
841ecfd927
chore(deps): bump bincode from 1.2.1 to 1.3.1 ( #10867 )
...
* chore(deps): bump bincode from 1.2.1 to 1.3.1
Bumps [bincode](https://github.com/servo/bincode ) from 1.2.1 to 1.3.1.
- [Release notes](https://github.com/servo/bincode/releases )
- [Commits](https://github.com/servo/bincode/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
* Switch from deprecated method
* Add options to maintain behavior with bincode::options()
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-07-09 00:08:05 +00:00
sakridge
6429042b6e
Add --print-account-stats/--snapshot-archive-path arguments to ledger-tool ( #10945 )
...
Allows for seeing how the accounts are being stored
and specifying a different snapshot source directory.
2020-07-08 09:32:11 -07:00
Greg Fitzgerald
2fdbb97244
Rename largest_confirmed_root to highest_confirmed_root ( #10947 )
2020-07-07 23:59:46 +00:00
sakridge
1269e348fb
Add a way to re-hash the bank ( #10765 )
2020-07-06 12:42:41 -07:00
Ryo Onodera
39b3ac6a8d
Introduce automatic ABI maintenance mechanism (2/2; rollout) ( #8012 )
...
* Introduce automatic ABI maintenance mechanism (2/2; rollout)
* Fix stable clippy
* Change to symlink
* Freeze abi of Tower
* fmt...
* Improve dev-experience!
* Update BankSlotDelta
$ diff -u /tmp/abi8/*7dg6BreYxTuxiVz6aLvk3p2Z7GQk2cJqfGvC9h4FAoSj* /tmp/abi8/*9chBcbXVJ4fK7uGgydQzam5aHipaAKFw6V4LDFpjbE4w*
--- /tmp/abi8/bank__BankSlotDelta_frozen_abi__test_abi_digest_7dg6BreYxTuxiVz6aLvk3p2Z7GQk2cJqfGvC9h4FAoSj 2020-06-18 18:01:22.831228087 +0900
+++ /tmp/abi8/bank__BankSlotDelta_frozen_abi__test_abi_digest_9chBcbXVJ4fK7uGgydQzam5aHipaAKFw6V4LDFpjbE4w 2020-07-03 15:59:58.430695244 +0900
@@ -140,7 +140,7 @@
field u8
primitive u8
field solana_sdk::instruction::InstructionError
- enum InstructionError (variants = 34)
+ enum InstructionError (variants = 35)
variant(0) GenericError (unit)
variant(1) InvalidArgument (unit)
variant(2) InvalidInstructionData (unit)
@@ -176,6 +176,7 @@
variant(31) CallDepth (unit)
variant(32) MissingAccount (unit)
variant(33) ReentrancyNotAllowed (unit)
+ variant(34) MaxSeedLengthExceeded (unit)
variant(9) CallChainTooDeep (unit)
variant(10) MissingSignatureForFee (unit)
variant(11) InvalidAccountIndex (unit)
* Fix some merge conflicts...
2020-07-06 20:22:23 +09:00
sakridge
832d47317e
Move clean accounts to background service ( #10898 )
2020-07-02 22:25:17 -07:00
dependabot-preview[bot]
4deec51703
chore(deps): bump rayon from 1.3.0 to 1.3.1 ( #10605 )
...
* chore(deps): bump rayon from 1.3.0 to 1.3.1
Bumps [rayon](https://github.com/rayon-rs/rayon ) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/rayon-rs/rayon/releases )
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.3.0...v1.3.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-07-01 08:09:28 -07:00
carllin
7a71580d53
Add heaviest subtree utility functions ( #10863 )
...
Co-authored-by: Carl <carl@solana.com>
2020-07-01 08:45:32 +00:00
Ryo Onodera
b89e506cbb
Consistently create temp dirs under ledger/farf ( #10848 )
2020-07-01 11:38:59 +09:00
Ryo Onodera
cabedc0f36
Remove outdated todo comment ( #10850 )
2020-06-30 13:43:01 +00:00
Greg Fitzgerald
50b3fa83a0
Move BankCommitmentCache to solana_runtime ( #10816 )
...
* Remove Blockstore member variable from BlockCommitmentCache
* Hoist is_confirmed_rooted() to its only caller
BlockCommitmentCache no longer depends on Blockstore
* Move BlockCommitmentCache to solana_runtime
2020-06-25 22:06:58 -06:00
sakridge
7430978d1a
Keep oldest snapshot so playing the ledger is possible from local data. ( #10814 )
2020-06-25 20:41:44 -07:00
Ryo Onodera
50f7ed80c8
Dont skip eager rent collect across gapped epochs ( #10206 )
...
* Dont skip eager rent collect across gapped epochs
* Adjust style and comment
* Adjust ascii chart and comment a bit
* Moar assert
* Relax the partition_count assert for completeness
* Tweak comment...
* tweak a bit
* Add gating logic
* Address reviews
* small formatting
* Clarify the code by replacing auto_generated...
* small formatting
* small formatting
* small formatting
* small formatting
* Narrow down conditional compilation scope
2020-06-25 23:11:33 +09: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
6d81eede93
Add CLI options and runtime support for selection of output snapshot version. ( #10536 )
2020-06-19 14:38:37 +09:00
Greg Fitzgerald
0550b893b0
Fix typos ( #10675 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-17 20:54:52 -07:00
Greg Fitzgerald
26ebfedf46
Derive the working bank ( #10670 )
2020-06-17 20:16:57 -06:00
Jack May
dac7dc2f10
Move types to more appropriate files ( #10638 )
2020-06-17 10:39:14 -07:00
Greg Fitzgerald
6ee222363e
Move BankForks to solana_runtime ( #10637 )
...
* Move BankForks to solana_runtime
* Update imports
2020-06-17 15:27:03 +00:00
Kristofer Peterson
50c93d4441
Cleanup error type mapping in serde_snapshot ( #10580 )
...
* Cleanup error type mapping in serde_snapshot
* Fail when account storage entry files cannot be moved from snapshot
2020-06-17 17:56:29 +09:00
carllin
8bd62d78eb
Fix race in remove_unrooted_slot ( #10607 )
...
* Fix race
* clippy fixes
* Rename and add comment
Co-authored-by: Carl <carl@solana.com>
2020-06-15 19:41:26 -07:00
dependabot-preview[bot]
480f69cc5e
Bump serde from 1.0.111 to 1.0.112
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.111 to 1.0.112.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.111...v1.0.112 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 07:58:16 -07:00
R. M. Shea
48febf153b
Change documentation introduction to indicate Foundation IP transfer ( #10440 )
2020-06-13 14:41:05 -07:00
Jack May
b6a9573748
Route all loader messages to log collector ( #10528 )
2020-06-13 13:20:08 -07:00
Ryo Onodera
dfe72d5242
Optimize stale slot shrinking for previously cleaned roots ( #10099 )
...
* Prioritize shrinking of previously cleaned roots
* measure time of stale slot shrinking
* Disable shrink for test
* shrink: budgeting, store count, force for snapshot
* Polish implementation and fix tests
* Fix ci..
* Clean up a bit
* Further polish implementation and fix/add tests
* Rebase fixes
* Remove unneeded Default for AccountStorageEntry
* Address review comments
* More cleanup
* More cleanup
2020-06-12 14:51:43 +09:00
Jack May
4f761395d2
Adhere to naming conventions ( #10530 )
...
automerge
2020-06-11 19:10:34 -07:00
carllin
2e1d59ff85
Adopt heaviest subtree fork choice rule ( #10441 )
...
* Add HeaviestSubtreeForkChoice
* Make replay stage switch between two fork choice rules
Co-authored-by: Carl <carl@solana.com>
2020-06-11 12:16:04 -07:00
Boqin Qin
1e3554b33d
runtime: fix possible deadlock in bank ( #10466 )
2020-06-11 02:02:08 +09:00
Boqin Qin
0a638a8f17
runtime: fix possible deadlock in accounts_db ( #10469 )
2020-06-10 19:37:15 +09:00
Greg Fitzgerald
4131eee94d
Expose last-valid-slot to BankClient and ThinClient users ( #10478 )
...
automerge
2020-06-09 17:07:32 -07:00
Trent Nelson
b329e6d1a4
Add --warp-slot argument to |solana-ledger-tool create-snapshot|
2020-06-09 09:16:21 -07: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
Michael Vines
136342eaae
Bump new_system_program_activation_epoch by 2
2020-06-08 09:39:42 -07:00
Michael Vines
7e2651ca51
RPC simulateTransaction endpoint now returns program log output ( #10432 )
2020-06-06 10:18:28 -07:00
Justin Starry
754f25ae99
Avoid AccountInUse errors when simulating transactions ( #10391 )
...
automerge
2020-06-04 19:06:01 -07:00
Michael Vines
26e684f375
Deactivate legacy_system_instruction_processor at epoch 58/38 (preview/stable) ( #10406 )
...
automerge
2020-06-04 00:01:47 -07:00
Jack May
61d91d2d55
Don't reuse executable accounts between instructions ( #10403 )
...
automerge
2020-06-03 21:16:15 -07:00
Michael Vines
21d62493ff
Add legacy_system_instruction_processor0 tests
2020-06-03 16:04:06 -07:00
Michael Vines
9c631a01c1
Enable rolling upgrade of system_instruction_processor
2020-06-03 16:04:06 -07:00
Michael Vines
1331c9a680
Add legacy_system_instruction_processor
2020-06-03 16:04:06 -07:00
Michael Vines
a4cd96609c
Add built-in programs to InvokeContext ( #10383 )
...
automerge
2020-06-03 12:48:19 -07:00
dependabot-preview[bot]
f901571026
Bump serde from 1.0.110 to 1.0.111
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.110 to 1.0.111.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.110...v1.0.111 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 23:29:14 -07:00
Greg Fitzgerald
5d248fe5f8
Permit paying oneself ( #10337 )
...
* Allow paying to oneself
* cargo fmt
* Permit pay-to-self in CLI
No test here because we're just removing an [untested] special case.
Fixes #10339
2020-05-30 20:12:48 -06:00
Tyera Eulberg
b563b49ed5
Improve Rpc inflation tooling ( #10309 )
...
automerge
2020-05-29 11:50:25 -07:00
Michael Vines
9eefb2c929
Bump version to 1.3.0
2020-05-28 15:01:13 -07:00
Michael Vines
e3b444834f
Add more logging while unpacking snapshots ( #10266 )
2020-05-27 10:41:05 -07:00
Tyera Eulberg
4e431bc818
Add mechanism to get blockhash's last valid slot ( #10239 )
...
automerge
2020-05-26 12:06:21 -07:00
dependabot-preview[bot]
1bfc4c1489
Bump libc from 0.2.70 to 0.2.71 ( #10249 )
...
* Bump libc from 0.2.70 to 0.2.71
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.70 to 0.2.71.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.70...0.2.71 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <anatoly+githubjenkins@solana.io>
2020-05-26 11:04:15 -07:00
Jack May
03abd3ddd7
Prevent privilege escalation ( #10232 )
...
automerge
2020-05-26 01:02:31 -07:00
Greg Fitzgerald
36a36d1c83
No longer allow create-account to add funds to an existing account ( #10192 )
...
automerge
2020-05-22 16:39:01 -07:00
Kristofer Peterson
b7a32f01c0
Multi-version snapshot support ( #9980 )
...
* Multi-version snapshot support
* rustfmt
* Remove CLI options and runtime support for selection output snapshot version.
Address some clippy complaints.
* Muzzle clippy type complexity warning.
Despite clippy's suggestion, it is not currently possible to create type aliases
for traits and so everything within the 'Box<...>' cannot be type aliased.
This then leaves creating full blown traits, and either implementing
said traits by closure (somehow) or moving the closures into new structs
implementing said traits which seems a bit of a palaver.
Alternatively it is possible to define and use the type alias 'type ResultBox<T> = Result<Box<T>>'
which does seems rather pointless and not a great reduction in complexity but is enough to keep clippy happy.
In the end I simply went with squelching the clippy warning.
* Remove now unused Serialize/Deserialize trait implementations for AccountStorageEntry and AppendVec
* refactor versioned de/serialisers
* rename serde_utils to serde_snapshot
* move call to accounts_db.generate_index() back down to context_accountsdb_from_stream()
* update version 1.1.1 to 1.2.0
remove nested use of serialize_bytes
* cleanups
* Add back measurement of account storage entry serialization.
Remove construction of Vec and HashMap temporaries during serialization.
* consolidate serialisation test cases into serde_snapshot.
clean up leakage of implementation details in serde_snapshot.
* move short term / legacy snapshot code into child module
* add serialize_iter_as_tuple
* preliminary integration of following commit
commit 6d58b73c47294bfb93465d5a83cd2175660b6e6d
Author: Ryo Onodera <ryoqun@gmail.com>
Date: Wed May 20 14:02:02 2020 +0900
Confine snapshot 1.1 relic to versioned codepath
* refactored serde_snapshot, rustfmt
legacy accounts_db format now "owns" both leading u64s, legacy bank_rc format has none
* reduce type complexity (clippy)
2020-05-23 02:54:24 +09:00
sakridge
ce17de7d25
Add option to wait for a specific epoch length to bench-tps ( #10083 )
2020-05-20 16:42:46 -07:00
Jack May
4a72c2b054
Support cross-program invocation to native programs ( #10136 )
2020-05-20 09:24:57 -07:00
Tyera Eulberg
9d89fb5c35
Fix another unstable test after eager rent ( #10120 )
2020-05-20 09:57:33 -06:00
Jack May
36627fb8b3
move builtin programs out of bank ( #10132 )
...
automerge
2020-05-19 19:45:30 -07:00
Jack May
431a228402
fix clock bankhash mismatch ( #10078 )
...
automerge
2020-05-18 19:48:06 -07:00
Michael Vines
bbc549f592
Rename program_id to owner in system instructions ( #10069 )
2020-05-18 12:55:41 -07:00
Kristofer Peterson
4ca352a344
Use serde provided serialization for atomics ( #10096 )
...
automerge
2020-05-18 08:30:27 -07:00
Greg Fitzgerald
5e89bd8868
Panic if no fee-payer found via Message::new() ( #10050 )
...
automerge
2020-05-15 12:23:09 -07:00
Kristofer Peterson
58ef02f02b
9951 clippy errors in the test suite ( #10030 )
...
automerge
2020-05-15 09:35:43 -07:00
dependabot-preview[bot]
6a6c5f196a
Bump libc from 0.2.69 to 0.2.70 ( #10006 )
...
* Bump libc from 0.2.69 to 0.2.70
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.69 to 0.2.70.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.69...0.2.70 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-05-15 06:18:43 -06:00
Jack May
eb1acaf927
Remove archiver and storage program ( #9992 )
...
automerge
2020-05-14 18:22:47 -07:00
dependabot-preview[bot]
816bf6ebdd
Bump fnv from 1.0.6 to 1.0.7 ( #10046 )
...
* Bump fnv from 1.0.6 to 1.0.7
Bumps [fnv](https://github.com/servo/rust-fnv ) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/servo/rust-fnv/releases )
- [Commits](https://github.com/servo/rust-fnv/compare/v1.0.6...v1.0.7 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-05-14 12:29:11 -07:00
Ryo Onodera
13bc3f8094
Fix unstable test after eager rent collection ( #10031 )
...
automerge
2020-05-13 10:35:58 -07:00
Ryo Onodera
1eb40c3fe0
Introduce eager rent collection ( #9527 )
...
* Switch AccountsIndex.account_maps from HashMap to BTreeMap
* Introduce eager rent collection
* Start to add tests
* Avoid too short eager rent collection cycles
* Add more tests
* Add more tests...
* Refacotr!!!!!!
* Refactoring follow up
* More tiny cleanups
* Don't rewrite 0-lamport accounts to be deterministic
* Refactor a bit
* Do hard fork, restore tests, and perf. mitigation
* Fix build...
* Refactor and add switch over for testnet (TdS)
* Use to_be_bytes
* cleanup
* More tiny cleanup
* Rebase cleanup
* Set Bank::genesis_hash when resuming from snapshot
* Reorder fns and clean ups
* Better naming and commenting
* Yet more naming clarifications
* Make prefix width strictly uniform for 2-base partition_count
* Fix typo...
* Revert cluster-dependent gate
* kick ci?
* kick ci?
* kick ci?
2020-05-13 16:22:14 +09:00
Justin Starry
5cc252d471
Remove hash field from account ( #9915 )
2020-05-12 23:39:46 +08:00
Jack May
97e17f9b32
Programs can only sign their accounts
2020-05-11 09:06:05 -07:00
dependabot-preview[bot]
288c9751c1
Bump serde from 1.0.106 to 1.0.110 ( #9964 )
...
* Bump serde from 1.0.106 to 1.0.110
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.106 to 1.0.110.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.106...v1.0.110 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-05-10 16:24:25 -07:00
Tyera Eulberg
3ee702a922
Rpc: Add getCirculatingSupply endpoint, redux ( #9953 )
...
* Add Bank.clock() helper
* Add non-circulating calculations
* Plumb getSupply rpc endpoint
* Add docs for getSupply, and remove getTotalSupply from docs
* Add pubkeys! procedural macro
* Use procedural macro in non_circulating_supply
2020-05-09 12:05:29 -06:00
Ryo Onodera
00e45ec935
Maintain sysvar balances for consistent market cap. ( #9936 )
...
* Maintain sysvar balances for consistent market cap.
* Unindent
2020-05-09 02:42:32 +09:00
Ryo Onodera
2ac50177a6
Include account.owner into account hash ( #9917 )
...
automerge
2020-05-07 13:01:11 -07:00
Tyera Eulberg
754c65c066
Refactor RPC subscriptions account handling ( #9888 )
...
* Switch subscriptions to use commitment instead of confirmations
* Add bank method to return account and last-modified slot
* Add last_modified_slot to subscription data and use to filter account subscriptions
* Update tests to non-zero last_notified_slot
* Add accounts subscriptions to test; fails at higher tx load
* Pass BankForks to RpcSubscriptions
* Use BankForks on add_account_subscription to properly initialize last_notified_slot
* Bundle subscriptions
* Check for non-equality
* Use commitment to initialize last_notified_slot; revert context.slot chage
2020-05-07 00:23:06 -06:00
dependabot-preview[bot]
e951f8d0ed
Bump libloading from 0.6.1 to 0.6.2 ( #9895 )
...
* Bump libloading from 0.6.1 to 0.6.2
Bumps [libloading](https://github.com/nagisa/rust_libloading ) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/nagisa/rust_libloading/releases )
- [Commits](https://github.com/nagisa/rust_libloading/compare/0.6.1...0.6.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-05-06 08:19:39 -07:00
carllin
3442f36f8a
Repair alternate versions of dead slots ( #9805 )
...
Co-authored-by: Carl <carl@solana.com>
2020-05-05 14:07:21 -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
Tyera Eulberg
f5b0d13f08
Rpc: add getLargestAccounts endpoint ( #9869 )
...
automerge
2020-05-04 16:46:10 -07:00
sakridge
f37f83fd12
Fuzzer test and fixes ( #9853 )
2020-05-02 08:07:52 -07:00
sakridge
894549f002
Put empty accounts in the accounts list on load ( #9840 )
...
Indexing into accounts array does not match account_keys otherwise.
Also enforce program accounts not at index 0
Enforce at least 1 Read-write signing fee-payer account.
2020-05-01 17:23:33 -07:00
Michael Vines
8dfe0affd4
Add incinerator sysvar ( #9815 )
2020-04-30 22:04:08 -07:00
Michael Vines
230df0ec0c
Upgrade to Rust 1.43.0 ( #9754 )
2020-04-29 18:02:05 -07:00
Stephen Akridge
eb24f3df84
Update dalek version
2020-04-28 21:02:47 -06:00
Jack May
068f12fd6f
Add Cross-program invocations ( #9582 )
2020-04-28 14:33:56 -07:00
sakridge
aac580686f
fix test compilation from add_static_program change ( #9755 )
2020-04-27 23:37:08 -07:00
Jack May
efad193180
Make default programs static ( #9717 )
2020-04-27 21:05:12 -07:00
anatoly yakovenko
8ef097bf6f
Input values are not sanitized after they are deserialized, making it far too easy for Leo to earn SOL ( #9706 )
...
* sanitize gossip protocol messages
* sanitize transactions
* crds protocol sanitize
2020-04-27 11:06:00 -07:00
Ryo Onodera
9918539229
Introduce type alias Ancestors ( #9699 )
...
* Introduce type alias AncestorList
* Rename AncestorList => Ancestors
2020-04-27 11:07:03 +09:00
sakridge
e907c0e650
Filter program ids to store ( #9721 )
...
automerge
2020-04-26 00:11:37 -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
dependabot-preview[bot]
d2cef8ed9b
Bump num_cpus from 1.12.0 to 1.13.0 ( #9682 )
...
* Bump num_cpus from 1.12.0 to 1.13.0
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus ) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/seanmonstar/num_cpus/releases )
- [Changelog](https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/num_cpus/compare/v1.12.0...v1.13.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-04-23 13:08:06 -07:00
Greg Fitzgerald
a6ad660e5e
Merge stake::withdraw instructions ( #9617 )
2020-04-20 18:16:50 -06:00
Jack May
b1a0abc7a6
Bump libloading to v0.6.1 ( #9615 )
...
automerge
2020-04-20 16:46:06 -07:00
Jack May
d08517db8c
Nit picks ( #9580 )
2020-04-18 22:39:08 -07:00
Jack May
58887c591b
Add and update tests ( #9566 )
2020-04-18 17:04:13 -07:00
Michael Vines
47ae57610a
Only build x86_64-unknown-linux-gnu on docs.rs
2020-04-16 19:06:17 -07:00
Jack May
241a05fc52
Add native loader entry points ( #9486 )
2020-04-15 09:41:29 -07:00
sakridge
217828a849
Reduce accounts_db prints ( #9469 )
2020-04-15 09:05:54 -07:00
Ryo Onodera
c77ed82caa
Use same max_age regardless of leader/not-leader ( #9423 )
...
automerge
2020-04-14 00:34:41 -07:00
dependabot-preview[bot]
a0f0e199b7
Bump libc from 0.2.68 to 0.2.69
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.68 to 0.2.69.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.68...0.2.69 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 17:30:02 -07:00
sakridge
99655206c8
Calculate account refs fix ( #9447 )
2020-04-11 12:52:10 -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
carllin
4522e85ac4
Add Metrics/Dashboards tracking block production ( #9342 )
...
* Add metric tracking blocks/dropped blocks
Co-authored-by: Carl <carl@solana.com>
2020-04-08 14:35:24 -07:00
Ryo Onodera
b28ec430e4
Introduce background stale AppendVec shrink mechanism ( #9219 )
...
* Introduce background AppendVec shrink mechanism
* Support ledger tool
* Clean up
* save
* save
* Fix CI
* More clean up
* Add tests
* Clean up yet more
* Use account.hash...
* Fix typo....
* Add comment
* Rename accounts_cleanup_service
2020-04-06 17:30:23 +09:00
dependabot-preview[bot]
8cdf406dd3
Bump serde from 1.0.105 to 1.0.106
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.105 to 1.0.106.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.105...v1.0.106 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-04 15:13:52 -07:00
Jack May
ed86d8d1fc
Add native loader entry points ( #9275 )
2020-04-03 17:40:59 -07:00
Jack May
268e04cb4a
Rename CustomError to Custom ( #9207 )
2020-04-01 09:01:11 -07:00
Jack May
130c0b484d
Enforce an executable's rent exemption in the runtime ( #9134 )
2020-03-31 10:07:38 -07:00
Tyera Eulberg
50fa577af8
Use cluster confirmations in rpc and pubsub ( #9138 )
...
* Add runtime methods to simply get status and slot
* Add helper function to get slot confirmation_count from BlockCommitmentCache
* Return cluster confirmations in getSignatureStatus
* Remove use of invalid get_signature_confirmation_status
* Remove unused methods
* Update pubsub to use cluster confirmations
* Fix test_check_signature_subscribe failure
* Refactor confirmations to read commitment cache only once
* Review comments
* Use bank, root from BlockCommitmentCache
* Update docs
* Add metric for block-commitment aggregations
Co-authored-by: Justin Starry <justin@solana.com>
2020-03-30 17:53:25 -06:00
sakridge
b1771b92ec
Calculate ref counts earlier to prevent bad clean ( #9147 )
2020-03-29 14:42:34 -07:00
Ryo Onodera
729cc4e04f
Sanitize zero lamport accounts in append vecs ( #9083 )
2020-03-29 15:45:45 +09:00
Michael Vines
d7fa40087c
Bump version to 1.2.0
2020-03-28 09:44:13 -07:00
Jack May
e2491c6322
Prevent add/subtract from executable account ( #9132 )
2020-03-27 16:43:25 -07:00
Justin Starry
5d9298543f
Exclude all executable accounts from rent collection ( #9116 )
...
* Whitelist executable accounts for rent exemption
* nudge
2020-03-27 23:28:18 +08:00
carllin
f3d556e3f9
Refactor VoteTracker ( #9084 )
...
* Refactor VoteTracker
Co-authored-by: Carl <carl@solana.com>
2020-03-26 17:55:17 -07:00
Jack May
8d4cecdb77
Account data may not change once the executable bit is set ( #9099 )
...
automerge
2020-03-26 17:10:11 -07:00
Ryo Onodera
2623c71ed3
Use type aliases/resulting var names consistently ( #9060 )
2020-03-26 13:08:56 +09:00
Justin Starry
ef3af104ae
Return appropriate error for invalid program account ( #9047 )
...
automerge
2020-03-25 13:23:05 -07:00
carllin
9dc69d9843
Store and compute node/stake state in EpochStakes struct ( #8958 )
...
* Store and compute needed bank state in EpochStakes struct
2020-03-25 12:19:15 -07:00
sakridge
45348b2c83
Remove accounts unwrap ( #9062 )
...
automerge
2020-03-25 10:21:30 -07:00
Justin Starry
eed8087d87
Respect confirmations param for signature subscription notifications ( #9019 )
...
automerge
2020-03-23 17:00:34 -07:00
sakridge
c530fbd22b
Remove thread-priority crate which is not cross-platform ( #9023 )
2020-03-23 12:18:52 -07:00
Tyera Eulberg
1b8f9e75dd
Update getSignatureStatus: support multiple signatures, include slot in each response item ( #9022 )
...
* Rename enable-rpc-get-confirmed-block
* Rename RpcTransactionStatus -> RpcTransactionStatusMeta
* Return simplified RpcTransactionStatus; Add support for multiple transactions
* Update docs
* typo
2020-03-23 11:25:39 -06:00
sakridge
4b397d15b3
Accounts cleanup service and perf improvements ( #8799 )
...
* Use atomic for ref count instead of taking rwlock
* Accounts cleanup service
* Review comments
2020-03-23 08:50:23 -07:00
Justin Starry
a0ffcc61ae
Add slot info to Bank::get_signature_confirmation_status ( #9018 )
2020-03-23 21:55:15 +08:00
Michael Vines
88ba8439fc
Add frozen account support ( #8989 )
...
automerge
2020-03-22 11:10:04 -07:00
sakridge
4dd0367136
Rwlock storage opt ( #9006 )
...
* Remove unecessary account paths rwlock
* Remove path rwlock in accounts_db and optimize storage critical section
2020-03-22 10:04:03 -07:00
sakridge
3ea556bc24
Drop storage lock ( #8997 )
2020-03-21 13:37:52 -07:00
Jack May
e28368ff1b
Move address creation with seed into pubkey ( #8991 )
2020-03-20 15:20:48 -07:00
Michael Vines
f78a90bce2
Vote InitializeAccount and UpdateNode instructions now need a signature from the validator identity ( #8947 )
...
automerge
2020-03-19 01:58:52 -07:00
dependabot-preview[bot]
24d871b529
Bump serde from 1.0.104 to 1.0.105 ( #8954 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.104 to 1.0.105.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.104...v1.0.105 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-18 22:35:30 -07:00
dependabot-preview[bot]
2dc50cff5b
Bump bv from 0.11.0 to 0.11.1 ( #8952 )
...
automerge
2020-03-18 21:37:21 -07:00
Michael Vines
306a5c849e
Use into_iter()
2020-03-18 16:11:57 -07:00
Michael Vines
bb92184085
Refactor distribute_rent_to_validators() for clarity
2020-03-18 16:11:57 -07:00
dependabot-preview[bot]
8f5ee6832f
Bump libc from 0.2.67 to 0.2.68 ( #8915 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.67 to 0.2.68.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.67...0.2.68 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-18 13:27:08 -06:00
sakridge
2435c3ce0c
Add accounts-bench, a benchmark to test the accounts store speed ( #8866 )
2020-03-17 11:02:07 -07:00
sakridge
7079559c2d
Fix windows build by removing sys-info ( #8860 )
...
Doesn't build for windows.
2020-03-16 12:53:13 -07:00
Michael Vines
b7b36bb0a4
Upgrade to Rust 1.42 ( #8836 )
...
* Upgrade to Rust 1.42
* deref
* parens
Co-authored-by: Trent Nelson <trent@solana.com>
2020-03-13 14:15:22 -06:00
Trent Nelson
fbf2dd1672
CLI: Error message cleanup ( #8804 )
...
automerge
2020-03-12 23:20:49 -07:00
Ryo Onodera
4bbf09f582
Enable conservative out-of-bound snapshot cleaning ( #8811 )
...
* Enable conservative out-of-bound snapshot cleaning
* Add tests
2020-03-13 14:44:00 +09:00
Ryo Onodera
952cd38b7b
Avoid early clean and bad snapshot by ref-counting ( #8724 )
...
* Avoid early clean and bad snapshot by ref-counting
* Add measure
* Clean ups
* clean ups
2020-03-13 14:14:37 +09:00
dependabot-preview[bot]
f93c8290f4
Bump sys-info from 0.5.9 to 0.5.10 ( #8810 )
...
Bumps [sys-info](https://github.com/FillZpp/sys-info-rs ) from 0.5.9 to 0.5.10.
- [Release notes](https://github.com/FillZpp/sys-info-rs/releases )
- [Changelog](https://github.com/FillZpp/sys-info-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/FillZpp/sys-info-rs/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-12 13:42:31 -06:00
Jack May
deaf3cb416
Instruction member function ( #8801 )
2020-03-12 09:08:39 -07:00
Jack May
6eb4973780
Don't use move semantics if not needed ( #8793 )
2020-03-11 14:37:23 -07:00
dependabot-preview[bot]
f88b79d42b
Bump itertools from 0.8.2 to 0.9.0 ( #8756 )
...
Bumps [itertools](https://github.com/bluss/rust-itertools ) from 0.8.2 to 0.9.0.
- [Release notes](https://github.com/bluss/rust-itertools/releases )
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/bluss/rust-itertools/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-10 08:42:11 -06:00
dependabot-preview[bot]
1a0dd53450
Bump rayon from 1.2.0 to 1.3.0 ( #8757 )
...
Bumps [rayon](https://github.com/rayon-rs/rayon ) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/rayon-rs/rayon/releases )
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/v1.2.0...rayon-core-v1.3.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-10 08:40:02 -06:00
carllin
9872430bd2
Add VoteTracker for tracking cluster's votes in gossip ( #8327 )
...
Track votes by slot in cluster_vote_listener
2020-03-09 22:03:09 -07:00
dependabot-preview[bot]
ff74452ef3
Bump libc from 0.2.66 to 0.2.67 ( #8680 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.66 to 0.2.67.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.66...0.2.67 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-08 21:38:58 -07:00
Trent Nelson
4db074a5aa
RPC: Add `getFeeCalculatorForBlockhash` method call ( #8687 )
...
Returns the `FeeCalculator` associated with the given blockhash, or
`null` if said blockhash has expired
2020-03-06 17:01:31 -07:00
Jack May
8ad6a8767f
Simplify runtime account handling ( #8674 )
2020-03-05 16:17:31 -08:00
Greg Fitzgerald
2242b1b4a5
Bump byteorder from 1.3.2 to 1.3.4 ( #8159 )
...
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.3.2 to 1.3.4.
- [Release notes](https://github.com/BurntSushi/byteorder/releases )
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.3.2...1.3.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-05 17:07:18 -07:00
Grimes
7fad53b112
Use iterated account ( #8673 )
...
automerge
2020-03-05 13:10:20 -08:00
Grimes
9d667db634
SDK: Allow `RecentBlockhashes` to hold the entire `BlockhashQueue` ( #8632 )
...
automerge
2020-03-05 11:03:21 -08:00
Jack May
5e3ce30d02
Pass the correct program_id to programs ( #8630 )
2020-03-05 10:57:35 -08:00
Jack May
97c5fb8141
Allow passing of program_ids to programs ( #8639 )
2020-03-05 10:57:12 -08:00
Michael Vines
f146c92e88
Always and fully normalize stored 0-lamport accts. ( #8657 )
2020-03-05 09:14:40 -07:00
Trent Nelson
fd00e5cb35
Store FeeCalculator with blockhash in nonce accounts ( #8650 )
...
* Copy current state version to v0
* Add `FeeCalculator` to nonce state
* fixup compile
* Dump v0 handling...
Since we new account data is all zeros, new `Current` versioned accounts
look like v0. We could hack around this with some data size checks, but
the `account_utils::*State` traits are applied to `Account`, not the
state data, so we're kind SOL...
* Create more representative test `RecentBlockhashes`
* Improve CLI nonce account display
Co-Authored-By: Michael Vines <mvines@gmail.com>
* Fix that last bank test...
* clippy/fmt
Co-authored-by: Michael Vines <mvines@gmail.com>
2020-03-05 07:40:26 -07:00
Grimes
b321da00b4
Nit: Use accessor function ( #8647 )
...
automerge
2020-03-04 18:26:58 -08:00
Grimes
80aae18794
Nit: Update native loader to iterate accounts ( #8640 )
...
automerge
2020-03-04 17:10:22 -08:00
Jack May
408d5da50f
Add test for program_ids passed in metas ( #8618 )
2020-03-04 11:13:33 -08:00
Trent Nelson
561808cf90
SDK: Store FeeCalculator in recent_blockhashes sysvar ( #8609 )
...
* SDK: Store FeeCalculators in recent_blockhashes sysvar
* nits
2020-03-04 12:01:32 -07:00
Jack May
b85d7c1f70
Fix account tests ( #8615 )
2020-03-04 10:40:41 -08:00
Jack May
642720a2fe
nit: describe the root program id ( #8621 )
2020-03-04 08:55:01 -08:00
Trent Nelson
1cc7131bb7
Consolidate Nonce state under one struct ( #8624 )
...
automerge
2020-03-04 08:51:48 -08:00
sakridge
b084c1d437
Remove accounts hack and correctly restore accounts store counts ( #8569 )
...
* Remove accounts hack and correctly restore append-vec counts
* Add test
2020-03-03 20:48:55 -08:00
Trent Nelson
1cb6101c6a
SDK: Add versioning to nonce state ( #8607 )
2020-03-03 19:39:09 -07:00
Trent Nelson
be0cc0273f
SDK: Re-org nonce state module to facilitate versioning ( #8603 )
...
automerge
2020-03-03 17:00:39 -08:00
sakridge
4f05f08f5d
Use fs::rename which is much faster than move_items ( #8579 )
2020-03-03 10:03:17 -08:00
Trent Nelson
0c76b89e55
Fix c/p error. We want a rent sysvar account here ( #8559 )
2020-03-03 09:49:02 -07:00
Ryo Onodera
d86103383a
Do periodic inbound cleaning for rooted slots ( #8436 )
...
* Do periodic inbound compaction for rooted slots
* Add comment
* nits
* Consider not_compacted_roots in cleanup_dead_slot
* Renames in AccountsIndex
* Rename to reflect expansion of removed accounts
* Fix a comment
* rename
* Parallelize clean over AccountsIndex
* Some niceties
* Reduce locks and real chunked parallelism
* Measure each step for sampling opportunities
* Just noticed par iter is maybe lazy
* Replace storage scan with optimized index scan
* Various clean-ups
* Clear uncleared_roots even if no updates
2020-03-03 14:57:25 +09:00
Ryo Onodera
5d9130a3c4
Hack to skip cleanup_dead_slots upon snapshot load
2020-03-02 10:24:12 -07:00
Trent Nelson
90bedd7e06
Split signature throughput tracking out of `FeeCalculator` ( #8447 )
...
* SDK: Split new `FeeRateGovernor` out of `FeeCalculator`
Leaving `FeeCalculator` to *only* calculate transaction fees
* Replace `FeeCalculator` with `FeeRateGovernor` as appropriate
* Expose recent `FeeRateGovernor` to clients
* Move `burn()` back into `FeeCalculator`
Appease BPF tests
* Revert "Move `burn()` back into `FeeCalculator`"
This reverts commit f3035624307196722b62ff8b74c12cfcc13b1941.
* Adjust BPF `Fee` sysvar test to reflect removal of `burn()` from `FeeCalculator`
* Make `FeeRateGovernor`'s `lamports_per_signature` private
* rebase artifacts
* fmt
* Drop 'Recent'
* Drop _with_commitment variant
* Use a more portable integer for `target_signatures_per_slot`
* Add docs for `getReeRateCalculator` JSON RPC method
* Don't return `lamports_per_signature` in `getFeeRateGovernor` JSONRPC reply
2020-02-28 13:27:01 -07:00
Michael Vines
7d27be2a73
Upgrade to Rust 1.41.1
2020-02-28 10:10:42 -07:00
carllin
d821fd29d6
Add versioning ( #8348 )
...
automerge
2020-02-25 17:12:01 -08:00
Ryo Onodera
0b48c8eb35
Promote dangerous cond. from just warning to panic ( #8439 )
2020-02-26 05:09:57 +09:00
Michael Vines
73063544bd
Move shred_version module to sdk/
2020-02-24 14:46:12 -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
Dan Albert
2d9d2f1e99
Update cargo versions from 1.0 to 1.1 ( #8397 )
2020-02-21 23:09:45 -08:00
Pankaj Garg
aa80f69171
Promote some datapoints to `info` to fix dashboard ( #8381 )
...
automerge
2020-02-21 13:41:49 -08:00
Jack May
0ace22d03f
Optimize account verification ( #8385 )
2020-02-21 13:28:35 -08:00
Jack May
0e6aca5a7e
Reorganize message processor in prep for cross-program-invocation ( #8338 )
2020-02-21 11:30:00 -08:00
Michael Vines
48f58a88bc
Bump version to 1.0.0
2020-02-20 23:52:19 -07:00
Ryo Onodera
d238371b0c
Correct missing entry handling to avoid bad warns ( #8339 )
...
* Correct missing entry handling to avoid bad warns
* Pass storage entries to AccountStorageSerialize
* Fix CI.....
* Add tests and reorder condition for cheapest first
* Remove unneeded reference
2020-02-21 15:27:55 +09:00
Tyera Eulberg
ab361a8073
Rename KeypairUtil to Signer ( #8360 )
...
automerge
2020-02-20 13:28:55 -08:00
Greg Fitzgerald
e8124324ff
Support transaction signing by heterogenous lists of keypairs ( #8342 )
...
automerge
2020-02-20 12:13:23 -08:00
carllin
73a278dc64
Factor out creating genesis with vote accounts into a utility function ( #8315 )
...
automerge
2020-02-18 02:39:47 -08:00
Ryo Onodera
027ec71aa9
Remove AccountInfo's (De)Serialize ( #8313 )
...
automerge
2020-02-17 03:07:36 -08:00
Michael Vines
1bf2285fa2
ledger-tool: Add print-accounts command
2020-02-14 19:59:48 -07:00
Jack May
940519ea5a
Remove Native Loader's use of GenericError ( #8285 )
2020-02-14 13:58:48 -08:00
Ryo Onodera
58727463e1
Remove needless last_root for better reclaims ( #8148 )
...
* Restore last_root to fix unintended storage delete
* Remove last_root thing altogether
* Remove unneeded test...
2020-02-13 08:19:53 +09:00
Greg Fitzgerald
127553ce4b
Wrap ed25519_dalek::Keypair ( #8247 )
2020-02-12 14:15:12 -07:00
sakridge
a8028fbb93
Fix accounts_db store counts in purging accounts logic ( #8218 )
...
* Show insufficient purge_zero_lamport_account logic
* Add another pass to detect non-deleted values and increment the count
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2020-02-12 08:51:03 -08:00
Michael Vines
72b11081a4
Report validator rewards in getConfirmedBlock JSON RPC
2020-02-11 17:25:45 -07:00
Ryo Onodera
7614af2a45
Verify frozen bank from snapshot by hashing ( #8184 )
2020-02-11 16:46:33 +09:00
Michael Vines
84b3e12e1f
Minor logging improvements
2020-02-10 10:42:42 -07:00
Ryo Onodera
485806c488
Just define BnakSlotDelta type alias ( #8186 )
...
automerge
2020-02-10 03:11:37 -08:00
Trent Nelson
5b070ad014
CLI: Support offline fee payers ( #8009 )
...
* CLI: Support offline fee-payer
* Add some knobs to test genesis/validator helpers
* Add tests
2020-02-07 09:14:26 -07:00
dependabot-preview[bot]
6246405afd
Bump memmap from 0.6.2 to 0.7.0 ( #8157 )
...
Bumps [memmap](https://github.com/danburkert/memmap-rs ) from 0.6.2 to 0.7.0.
- [Release notes](https://github.com/danburkert/memmap-rs/releases )
- [Commits](https://github.com/danburkert/memmap-rs/compare/0.6.2...0.7.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-07 06:51:31 -07:00
François Garillot
f016c9a669
Maintenance : simplify a few patterns, remove unneeded dependencies ( #8137 )
...
* Simplify a few pattern matches
* Removing unneeded dependencies, upgrading internal version #s
net-shaper: Removing log, semver, serde_derive
bench-tps: Removing serde, serde_derive
banking-bench: Removing solana
ledger-tool: Removing bincode, serde, serde_derive
librapay: Removing solana, language_e2e_tests
log-analyzer: Removing log, semver, serde_derive
exchange: Removing solana
core: Removing crc, memmap, symlink, untrusted
perf: Removing serde_derive
genesis: Removing hex, serde_derive
sdk-c: Removing sha2
sys-tuner: Removing semver
bench-exchange: Removing bincode, bs58, env_logger, serde, serde_derive, untrusted, ws
btc_spv_bin: Removing serde_json
btc_spv: Removing chrono
bpf_loader: Removing serde
ledger: Removing dlopen, dlopen_derive, serde_derive
move_loader: Removing byteorder, libc, language_e2e_tests
ownable: Removing serde, serde_derive
client: Removing rand
archiver-utils: Removing rand_chacha
validator: Removing serde_json, tempfile
param_passing_dep: Removing solana
failure: Removing log
vest: Removing log
vote-signer: Removing bs58, serde
local-cluster: Removing symlink
keygen: Removing rpassword
install: Removing bs58, log
upload-perf: Removing log
runtime: Removing serde_json
stake: Removing rand
* Add modified Cargo.lock
* fixup! Simplify a few pattern matches
* fixup! Simplify a few pattern matches
2020-02-06 10:02:38 -07:00
Jack May
8436457e75
Rename program_utils.rs ( #8127 )
2020-02-05 12:48:30 -08:00
Michael Vines
3ac0192d40
Better surface bank hash verification failures
2020-02-05 11:39:47 -07:00
dependabot-preview[bot]
65c24db83c
Bump serde_json from 1.0.44 to 1.0.46 ( #8087 )
...
* Bump serde_json from 1.0.44 to 1.0.46
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.44 to 1.0.46.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.44...v1.0.46 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* Update Move's serde_json to v1.0.46
Co-authored-by: Jack May <jack@solana.com>
2020-02-04 16:59:23 -08:00
Jack May
15ab966ed1
Move native program entrypoint out of instruction_processor_utils ( #8122 )
2020-02-04 14:54:49 -08:00
sakridge
78f6ddc5b7
Fix spelling of verification in accounts_db ( #8117 )
...
automerge
2020-02-04 11:45:47 -08:00
dependabot-preview[bot]
c835749563
Bump sys-info from 0.5.8 to 0.5.9 ( #8089 )
...
Bumps [sys-info](https://github.com/FillZpp/sys-info-rs ) from 0.5.8 to 0.5.9.
- [Release notes](https://github.com/FillZpp/sys-info-rs/releases )
- [Changelog](https://github.com/FillZpp/sys-info-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/FillZpp/sys-info-rs/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 14:49:39 -07:00
Michael Vines
3bc9789e8d
Remove support for 0.22.3 snapshots
2020-01-30 23:34:15 -07:00
Jack May
83718a3b3e
Cleanup runtime use syntax ( #8002 )
2020-01-28 17:03:20 -08:00
Michael Vines
912aafcefd
Reduce epoch duration from 2 weeks to 2 days
2020-01-27 10:34:55 -07:00
Dan Albert
c324e71768
Bump cargo toml versions to 0.24.0 ( #7976 )
2020-01-25 11:04:27 -06:00
Michael Vines
989355e885
Add ability to hard fork at any slot ( #7801 )
...
automerge
2020-01-24 17:27:04 -08:00
Ryo Onodera
2c7447b73e
Secure sysvars under hash by freezing all strictly ( #7892 )
...
* Secure sysvars under hash by freezing all strictly
* Fix hash's non-idempotnet and add new test
* Clean up
* More cleanups
2020-01-24 16:10:32 +09:00
Michael Vines
8b8033c72b
Set BankRc slot correctly when restoring a bank snapshot
2020-01-23 13:37:13 -07:00
Michael Vines
25dfed207c
Remove dead code ( #7940 )
...
automerge
2020-01-23 00:38:46 -08:00
Jack May
c95e5346a4
Boot the mut ( #7926 )
2020-01-22 17:54:06 -08:00
Jack May
8f79327190
Test account doesn't need RefCell ( #7932 )
...
automerge
2020-01-22 17:06:11 -08:00
Trent Nelson
964ff522be
Verb-noun-ify Nonce API ( #7925 )
...
* Verb-noun-ify Nonce API
* Unify instruction naming with API naming
The more verbose nonce_account/NonceAccount was chosen for clarity
that these instructions work on a unique species of system account
2020-01-22 16:31:39 -07:00
Michael Vines
934c32cbc6
Add mechanism to load v0.22.3 snapshots on newer Solana versions
2020-01-22 15:40:32 -07:00
Rob Walker
ce70d6eedc
Add redeem_vote_credits to runtime ( #7910 )
...
* Move redeem_vote_credits into runtime
* fixup
* test
* move stake manipulation to stake program
* chugga for less indentation
2020-01-22 12:21:31 -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
Greg Fitzgerald
3aabeb2b81
Rename bootstrap leader ( #7906 )
...
* Rename bootstrap leader to bootstrap validator
It's a normal validator as soon as other validators enter the
leader schedule.
* cargo fmt
* Fix build
Thanks @CriesofCarrots!
2020-01-22 09:22:09 -07:00
Rob Walker
cc299053cc
Add support for stake::split() via create_account_with_seed() ( #7879 )
...
* Add split with seed
* move to new system_program APIs
* de-replicode
2020-01-20 12:33:27 -08:00
Rob Walker
470d9cd752
Add system_instruction::{allocate, allocate_with_seed, assign_with_seed}, ( #7847 )
...
* cleanup test checks cargo audit
* Add system_instruction allocate
* fixup
* fixup
2020-01-17 09:29:15 -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
ed0129f881
Don't depend on unused lazy_static
2020-01-16 08:43:13 -07:00
Rob Walker
4c08184379
no check if no change ( #7824 )
2020-01-15 15:13:11 -08:00
Rob Walker
a6d083d69d
Remove create_account bandaid now that `to`'s signature is required ( #7776 )
...
* Remove create account bandaid now that requires signature
* shrink scope of this PR to bandaid
2020-01-15 13:03:22 -08:00
Ryo Onodera
b16c30b4c6
Fix cluster collapse due to no proper shifted read ( #7797 )
...
* Fix cluster collapse due to no proper shifted read
* Add test for bank hash mismatch
Co-authored-by: sakridge <sakridge@gmail.com>
2020-01-15 11:45:19 +09:00
Justin Starry
ff1ca1e0d3
Consolidate entry tick verification into one function ( #7740 )
...
* Consolidate entry tick verification into one function
* Mark bad slots as dead in blocktree processor
* more feedback
* Add bank.is_complete
* feedback
2020-01-15 09:15:26 +08:00
Jack May
5f4e0c7e3e
Naming nits ( #7798 )
...
automerge
2020-01-14 13:38:17 -08:00
sakridge
3b78be83cf
Add hash stats information to check hashes between validators ( #7780 )
...
automerge
2020-01-14 11:57:29 -08:00
Trent Nelson
81ae44f858
Nonce: Rename instructions with VerbNoun scheme ( #7775 )
...
automerge
2020-01-13 15:34:43 -08:00
Trent Nelson
9754fc789e
Manage durable nonce stored value in runtime ( #7684 )
...
* Bank: Return nonce pubkey/account from `check_tx_durable_nonce`
* Forward account with HashAgeKind::DurableNonce
* Add durable nonce helper for HashAgeKind
* Add nonce util for advancing stored nonce in runtime
* Advance nonce in runtime
* Store rolled back nonce account on TX InstructionError
* nonce: Add test for replayed InstErr fee theft
2020-01-10 16:57:31 -07:00
Jack May
08ba27627d
Direct entrypoint for execution ( #7746 )
2020-01-10 13:20:15 -08:00
Ryo Onodera
865c42465a
Cap file size for snapshot data files ( #7182 )
...
* save limit deserialize
* save
* Save
* Clean up
* rustfmt
* rustfmt
* Just comment out to please CI
* Fix ci...
* Move code
* Rustfmt
* Crean up control flow
* Add another comment
* Introduce predetermined constant limit on snapshot data files (deserialize side)
* Introduce predetermined constant limit on snapshot data files (serialize side)
* rustfmt
* Tweak message
* Revert dynamic memory limit
* Limit size of snapshot data file (de)serialization
* Fix test breakage
* Clean up
* Fix uses formatting
* Rename: deserialize_{for,from}_snapshot
* Simplify comment
* Use Slot
* Provide slot for status cache
* Align variable name with snapshot_status_cache_file_path
* Define serialize_snapshot_data_file_with_metrics
* Fix build.......
* De-marco serialize_snapshot_data_file_with_metrics
* Revert u64 => Slot
2020-01-10 09:49:36 +09:00
sakridge
73c93cc345
Print bank hash and hash inputs. ( #7733 )
2020-01-09 16:33:10 -08:00
Michael Vines
9720c894f1
Use commas to make a log message more readable
2020-01-06 22:31:01 -07:00
Ryo Onodera
e5425d4a27
Fix AppendVec test breakage... ( #7693 )
2020-01-07 09:21:59 +09:00
Ryo Onodera
58e6d4aabb
Sanitize AppendVec's file_size ( #7373 )
...
* Check append vec file size
* Don't use panic
* Clean up a bit
* Clean up
* Clean ups
* Change assertion into sanization check
* Remove...
* Clean up
* More clean up
* More clean up
* Use assert_matches
2020-01-07 08:14:56 +09:00
Michael Vines
e782c26908
Prune older epoch stakes
2020-01-04 09:34:27 -07:00
Trent Nelson
7e94cc2cc3
Move nonce into system program ( #7645 )
...
automerge
2020-01-03 16:34:58 -08:00
Rob Walker
63f185f9bf
Delete unused type ( #7653 )
2020-01-02 13:15:31 -08:00
Rob Walker
e1ebaa902b
Add base pubkey to create_account_with_seed ( #7636 )
2019-12-29 16:42:24 -08:00
Rob Walker
e0564f628e
Use lamports in genesis ( #7631 )
...
* Use lamports in genesis
* readability
2019-12-28 12:49:10 -08:00
Rob Walker
120c8f244c
Add slot_history for slashing ( #7589 )
...
* Add slot_history for slashing
* fixup
* fixup
2019-12-23 12:23:45 -08:00
Ryo Onodera
c8fe4043b6
Rename slot_hash => bank_hash in AcoountsDB ( #7579 )
...
* Rename slot_hash => bank_hash in AcoountsDB
2019-12-23 10:50:31 +09:00
sakridge
7dec934bb3
Optimize lock_accounts mutex use ( #7593 )
...
Use the lock for the whole batch instead of per-tx
Optimize the critical section to pre-generate the keys necessary
before taking the lock.
2019-12-21 10:43:22 -08:00
Dan Albert
ca10cf081f
Update cargo.toml files from 0.22.0 to 0.23.0 ( #7596 )
2019-12-20 21:45:42 -05: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
Tyera Eulberg
6aaf742dfe
Extend getConfirmedBlock rpc to return account pre- and post-balances ( #7543 )
...
automerge
2019-12-18 09:56:29 -08:00
Ryo Onodera
629a4b5bf8
Strictly sanitize mmapped AppendVec file contents ( #7464 )
...
* Clean up align_to_8byte!
* small clean up
* Strictly sanitize mmapped AppendVec files
* Clean up
* Fix typo
* Rename align_to_8byte => u64_align
* Fix typo
* Clean up unsafe into methods of StoredAccount
* Made oddness more apparent
* Yet more clarification
* Promote a PR comment into a src comment
* Fix typo...
* Move ref_executable_byte out of tests impl
2019-12-18 14:10:36 +09:00
Trent Nelson
0ea2843ec9
Durable Nonce - Authorized Noncer ( #7417 )
...
* Durable Nonce: Add authorized noncer to initialize instruction
* CLI: Adapt to nonce authority
* Durable Nonce: Introduce Authorize instruction
* Specify who needs to sign ix
* 'authorized-noncer' -> 'nonce-authority'
* Document signing authority for all instructions
2019-12-17 09:34:21 -05:00
Jack May
7c92bf15e2
Only return accounts that have changed since the bank's parent ( #7520 )
...
* Only return accounts that have changed since the bank's parent
* add test
2019-12-16 23:24:18 -08:00
Tyera Eulberg
f03ed9f5bf
Add helper fn and runtime test ( #7516 )
2019-12-16 17:02:40 -07:00
dependabot-preview[bot]
7ad64c8d45
Bump serde from 1.0.103 to 1.0.104
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.103 to 1.0.104.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.103...v1.0.104 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 08:50:09 -07:00
Rob Walker
f05860672c
Add create-address-with-seed to solana-cli ( #7472 )
...
* Add create account with seed to cli
* clippy
* fixup
2019-12-14 04:38:24 -08:00
sakridge
9d5a07bac4
Move create_dir_all to AccountsDB::new ( #7465 )
...
AppendVec create doesn't need to try and create
paths every time and it can stall while snapshot
create is happening.
2019-12-13 16:46:16 -08:00
Rob Walker
777ae3c215
Add time since genesis to sysvar::clock ( #7289 )
...
* genesis timestamp
* remove clock::create_account()
* ..
* add configure-able creation time
* dividing by 1T, should be dividing by 1B
2019-12-12 14:03:43 -08:00
Rob Walker
ea0ba19089
Add SystemInstruction::CreateAccountWithSeed ( #7390 )
...
* address generator
* coverage
* fixups
* remove ascii restriction
* illustrate that utf-8 doesn't expand the space
2019-12-12 11:12:09 -08:00
Ryo Onodera
a1ab81a896
Include rent_epoch and executable into account hash ( #7415 )
...
* Clean a bit
* Add rent_epoch and executable into account hashing
* Remove comment and instead create an issue
2019-12-12 13:03:33 +09:00
sakridge
0aa4dc904e
Accounts index updates, remove pubkey when dead account ( #7408 )
2019-12-11 11:11:31 -08:00
Parth
feeb1cb566
distribute leftover lamports ( #7396 )
...
* distribute leftover lamports
* add test scenario
* fix naming
2019-12-11 02:41:08 +05:30
dependabot-preview[bot]
6f457292ff
Bump bincode from 1.2.0 to 1.2.1
...
Bumps [bincode](https://github.com/servo/bincode ) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/servo/bincode/releases )
- [Commits](https://github.com/servo/bincode/compare/v1.2.0...v1.2.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 10:00:56 -07:00
Parth
696cb298ab
put limit on account data length ( #7320 )
...
* put limit on account data length
* proper debug message
2019-12-10 22:17:11 +05:30
Rob Walker
39cd6dff7d
turn on rent ( #7368 )
...
* turn on rent
* add rent exempt balances for bootstrap accounts
* use Rent::free() when not testing rent
2019-12-09 21:56:43 -08:00
Trent Nelson
5d2b27d916
Address post-merge review for #7353 ( #7378 )
...
automerge
2019-12-09 12:54:10 -08:00
Justin Starry
43e608af47
Expose stake delegations from bank for winner tool ( #7354 )
...
* Expose stake delegations from bank
* cargo fmt
* Add test
2019-12-08 20:52:01 -08:00
Trent Nelson
059e631f41
Durable Nonce: Re-introduce Initialize instruction ( #7353 )
...
Toward an Authorized Noncer
2019-12-08 10:16:55 -07:00
dependabot-preview[bot]
891767c6b7
Bump serde_json from 1.0.42 to 1.0.44
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.42 to 1.0.44.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.42...v1.0.44 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-08 09:43:24 -07:00
Trent Nelson
1ffd6b4b4d
Add program and runtime support for Durable Transaction Nonces ( #6845 )
...
* Rework transaction processing result forwarding
Durable nonce prereq
* Add Durable Nonce program API
* Add runtime changes for Durable Nonce program
* Register Durable Nonce program
* Concise comments and bad math
* Fix c/p error
* Add rent sysvar to withdraw ix
* Remove rent exempt required balance from Meta struct
* Use the helper
2019-12-07 12:54:10 -07: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
sakridge
cfc21e1225
Only serialize rooted append vecs ( #7281 )
2019-12-05 14:27:46 -08:00
Parth
0d1fed78af
Pay rent to validators ( #7164 )
...
automerge
2019-12-05 06:10:34 -08:00
Jack May
9485eba73d
nudge ( #7279 )
2019-12-04 19:28:20 -08:00
Jack May
23c4a7dc49
nudge ( #7280 )
2019-12-04 19:28:00 -08:00
Jack May
9b172879a2
Remove deprecated solana_entrypoint macro ( #7257 )
2019-12-04 00:42:50 -08:00
Parth
ba688cf629
enforce proper range for rent burn_percent ( #7217 )
...
* enforce proper range for burn_percent
2019-12-04 00:54:01 +05:30
Rob Walker
d5c8b26a45
bank_leak_mac_os ( #7209 )
2019-12-03 00:09:05 -08:00
Rob Walker
f9df17d8d0
track bank size ( #7144 )
...
* track bank size
* support non-linux a bit better
2019-12-02 13:47:20 -08:00
Sagar Dhawan
0e2e13f018
Update usages of u64 to Slot ( #7191 )
...
automerge
2019-12-02 11:57:40 -08:00
sakridge
887bff572a
More conservative purge_zero_lamport_accounts purge logic ( #7157 )
2019-12-02 09:51:05 -08:00
dependabot-preview[bot]
0f872af502
Bump libc from 0.2.65 to 0.2.66 ( #7180 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.65 to 0.2.66.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.65...0.2.66 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:56:03 -07:00
dependabot-preview[bot]
7f4feaee08
Bump serde from 1.0.102 to 1.0.103 ( #7163 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.102 to 1.0.103.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.102...v1.0.103 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-27 09:10:25 -07:00
Rob Walker
8d75efdc58
genesis config hashmaps ( #7107 )
2019-11-26 19:23:37 -08:00
dependabot-preview[bot]
c810913861
Bump serde_derive from 1.0.102 to 1.0.103 ( #7141 )
...
automerge
2019-11-26 14:44:20 -08:00
dependabot-preview[bot]
2b13158e29
Bump serde_json from 1.0.41 to 1.0.42 ( #7142 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.41 to 1.0.42.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.41...v1.0.42 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-26 15:09:01 -07:00
Tyera Eulberg
58c144ee55
Add getBlockTime rpc api ( #7130 )
...
* Add getBlockTime rpc api
* Add getBlockTime to docs
* Fix duration rounding for common tick/slot durations; add slot duration calculation
* Expose slots_per_year
* Use genesis values instead of clock defaults to calculate block offset
* Add get-block-time cli subcommand
* Fix test_rent: decrease magic number usage
2019-11-26 00:40:36 -07:00
Michael Vines
294662a1ce
Bump version to 0.22.0
2019-11-25 21:34:50 -07:00
Sagar Dhawan
76a68c26c9
Track a Bank's parent slot independently from parent bank ( #7131 )
2019-11-25 15:34:51 -08:00
Rob Walker
ef64f00cbb
Revert "Revert "add genesis stake placeholders ( #6969 )" ( #7109 )" ( #7124 )
...
This reverts commit 702f7cc51d
.
2019-11-25 15:11:55 -08:00
Rob Walker
acbe89a159
shrink stakes ( #7122 )
2019-11-25 13:14:32 -08:00
dependabot-preview[bot]
094c391cd7
Bump itertools from 0.8.1 to 0.8.2 ( #7111 )
...
Bumps [itertools](https://github.com/bluss/rust-itertools ) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/bluss/rust-itertools/releases )
- [Commits](https://github.com/bluss/rust-itertools/commits/v0.8.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 10:22:47 -07:00
anatoly yakovenko
702f7cc51d
Revert "add genesis stake placeholders ( #6969 )" ( #7109 )
...
* Revert "add genesis stake placeholders (#6969 )"
This reverts commit 8a879faac7
.
* fixup! Revert "add genesis stake placeholders (#6969 )"
* fixup! fixup! Revert "add genesis stake placeholders (#6969 )"
* fixup! fixup! fixup! Revert "add genesis stake placeholders (#6969 )"
* fixup! fixup! fixup! fixup! Revert "add genesis stake placeholders (#6969 )"
* fmt
2019-11-23 23:15:21 -07:00
sakridge
6c89226ccf
Purge zero lamport accounts on snapshot ingestion ( #7010 )
...
Snapshots do not load the original index, so they must
purge zero lamport accounts again.
2019-11-22 18:22:28 -08:00
Ryo Onodera
8bb68c4e6a
Really remove mentions of 'genesis_block' ( #7099 )
2019-11-23 05:58:20 +09:00
Sagar Dhawan
4485b978c1
Clean up accounts hash internal state api ( #7090 )
2019-11-22 08:56:00 -08:00
Rob Walker
8a879faac7
add genesis stake placeholders ( #6969 )
...
* add investor stake placeholders
fixups
fixups
review comments, fixups
make more data-looky for easier management
rent may be zero
rework with more tables, derived keys
fixups
rebase-fix
fixups
fixups
* genesis is now too big to boot in 10 seconds
2019-11-21 12:05:31 -08:00
Sagar Dhawan
2c1b8fdd39
Add another test for bank state hashes ( #7073 )
...
automerge
2019-11-20 23:03:42 -08:00
Jack May
3415db9739
Merge api/program into single units ( #7061 )
2019-11-20 16:32:19 -08:00
Tyera Eulberg
97ca6858b7
Write transaction status and fee into persistent store ( #7030 )
...
* Pass blocktree into execute_batch, if persist_transaction_status
* Add validator arg to enable persistent transaction status store
* Pass blocktree into banking_stage, if persist_transaction_status
* Add validator params to bash scripts
* Expose actual transaction statuses outside Bank; add tests
* Fix benches
* Offload transaction status writes to a separate thread
* Enable persistent transaction status along with rpc service
* nudge
* Review comments
2019-11-20 16:43:10 -07:00
Parth
9f6a2e51b2
add credit-debit rent handling ( #6947 )
...
* add credit-debit rent handling
* add tests
* charge rent for validator account for fee credit
* rent is stored per tx instead of account
2019-11-21 01:57:02 +05:30
anatoly yakovenko
b150da837a
Use epoch as the gossip purge timeout for staked nodes. ( #7005 )
...
automerge
2019-11-20 11:25:18 -08:00
Jack May
d184d3a732
Merge native programs parts into one unit ( #7047 )
2019-11-20 10:12:43 -08:00
Sagar Dhawan
42da1ce4e2
Fix bank hash not changing when no internal state has changed ( #7052 )
...
* Fix bank hash not changing when no internal state has changed
* Fix unnecessary call to hash_internal_state
* Add blockhash into the bank_hash
* Add blockhash into the bank_hash and update tests
* Refactor accounts_db slot_hashes
* More clarity in comments
* Add clippy suggestion
* Grammar
* Fix compile after clippy made me break it
* Schooled by clippy
2019-11-19 20:19:43 -08:00
Parth
3615209ce7
don't allow assignment to sysvar program ( #7017 )
...
automerge
2019-11-18 19:39:29 -08:00
Greg Fitzgerald
c09469fa3a
Rename verify_instruction() to verify_account_changes() ( #7020 )
2019-11-18 15:01:14 -07:00
Parth
c902fd0303
skip sysvars while assessing rent ( #7015 )
...
* skip sysvars while assessing rent
2019-11-19 01:31:27 +05:30
Michael Vines
e7f63cd336
Upgrade to rust 1.39.0 ( #6939 )
...
* Upgrade to rust 1.39.0
* 1.39.0 clippy
2019-11-14 12:27:01 -07:00
Parth
7b05b3dbb3
rent collector improvments ( #6888 )
...
* avoid account copying + pre-empt rent
* adding support for base rent
2019-11-14 10:56:49 +05:30
Michael Vines
cc96848b01
Remove unneeded prepare_batch() assert ( #6941 )
...
automerge
2019-11-13 17:08:21 -08:00
Michael Vines
9026339d35
Restore is_frozen() asserts ( #6925 )
2019-11-13 10:40:51 -07:00
Michael Vines
fcc2874591
Remove/address some TODOs ( #6923 )
2019-11-13 09:43:15 -07:00
Greg Fitzgerald
986e9e268e
Revive the parallel bank client from v0.16 ( #6903 )
2019-11-12 15:26:21 -07:00
Rob Walker
bb00904fc8
add rent reserve for bootstrap stakes ( #6876 )
...
* genesis investor stakes
* assert rent is sufficient for these bootstrappers
2019-11-12 12:33:40 -08:00
Justin Starry
9807f47d4e
Rename genesis block to genesis config ( #6816 )
2019-11-08 23:56:57 -05:00
carllin
91be35731c
Fix freeze and register_tick race ( #6799 )
...
* Fix freeze and register_tick race
* Add test
2019-11-08 17:21:17 -08:00
Michael Vines
efdfc5c327
Remove TODOs ( #6843 )
2019-11-08 16:43:18 -07:00
Jack May
2f7d0e7884
TODO already covered by issue ( #6828 )
2019-11-08 11:45:17 -08:00
carllin
66a0f54097
Replay should respect order of register_ticks with respect to blockhashes ( #6805 )
2019-11-08 12:29:41 -07:00
Parth
5bd05fba09
require `to` account signature ( #6658 )
...
* require to signature
* fixing invocation to create_account
* fix create_account references
* address review comment
* whacking bugs in tests
* fixing stake program tests
2019-11-08 15:57:35 +05:30
Sagar Dhawan
80a89b5e6d
Revert "Revert "Add inflation to epoch phases ( #6787 )" ( #6802 )" ( #6806 )
...
automerge
2019-11-07 18:33:14 -08:00
Sagar Dhawan
d89271528e
Revert "Add inflation to epoch phases ( #6787 )" ( #6802 )
...
automerge
2019-11-07 16:43:09 -08:00
Jack May
a9c4cd6cbe
Add inflation to epoch phases ( #6787 )
2019-11-07 10:53:04 -08:00
Justin Starry
e420800aeb
Update terminology for block height and genesis block ( #6782 )
2019-11-06 23:09:03 -05:00
Tyera Eulberg
b3a75a60a4
Use rooted bank by default in rpc bank selection ( #6759 )
...
* Name anonymous parameters for clarity
* Add CommitmentConfig to select bank for rpc
* Add commitment information to jsonrpc docs
* Update send_and_confirm retries as per commitment defaults
* Pass CommitmentConfig into client requests; also various 'use' cleanup
* Use _with_commitment methods to speed local_cluster tests
* Pass CommitmentConfig into Archiver in order to enable quick confirmations in local_cluster tests
* Restore solana ping speed
* Increase wallet-sanity timeout to account for longer confirmation time
2019-11-06 14:15:00 -07:00
carllin
24102a7435
Allow voting on empty banks ( #6719 )
...
* Allow votes on empty banks
* Remove making first bank is_delta true, no longer necessary for idling
* Remove votable from ledger tool
2019-11-06 01:02:26 -08:00
Jack May
9614d17024
Limit deserialization of data coming off the wire ( #6751 )
...
* Limit deserialization of data coming off the wire
* Feedback and cleanup
2019-11-06 00:07:57 -08:00
Jack May
b9d8e3e55a
Only copy whats needed to verify an instruction after processing ( #6669 )
2019-11-05 10:57:32 -08:00
Tyera Eulberg
c6931dcb07
Remove credit-only account handling ( #6726 )
...
* Renaming
- credit-only/credit-debit to read-only/read-write
- debitable to writable
* Remove credit handling, making credit-only accounts read-only
* Update programs to remove deprecated credit-only account designation
* Use readonly and writable instead of underscored types
2019-11-05 09:38:35 -07:00
anatoly yakovenko
f54cfcdb8f
Store and persists full stack of tower votes in gossip ( #6695 )
...
* vote array
wip
wip
wip
update
gossip index should match tower index
tests build
clippy
test index after expired vote
test
bank specific last vote sync time
* verify
* we are likely to see many more warnings about old votes now
2019-11-04 16:19:54 -08:00
Rob Walker
efe260f12e
sysvar trait ( #6667 )
...
* sysvar trait
* get the new guy in on it
2019-11-04 12:31:24 -08:00
Rob Walker
b9b535c30f
move system_instruction::transfer() `to` credit-debit ( #6677 )
...
* transfer no credit only
* use a credit-only transfer in the credit-only test
2019-11-04 12:30:59 -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 a8f8c3bfbe0d88e2229e67a29e9d2b489b93ff62.
* Revert "Avoid allocs on update"
This reverts commit 486f01790c271cf09ac3dbffba0e40e526e81324.
2019-11-04 10:51:15 -07:00
Michael Vines
3938142535
keygen: add dedicated `solana-keygen grind` command ( #6697 )
...
* Remove dead code
* Speed up vanity key grinding
2019-11-03 19:41:26 -08:00
Michael Vines
50a17fc00b
Use Slot and Epoch type aliases instead of raw u64 ( #6693 )
...
automerge
2019-11-02 00:38:30 -07:00
Justin Starry
e8e5ddc55d
Verify number of hashes for each block of entries ( #6262 )
...
* Verify number of hashes for each block of entries
* Fix blocktree processor tick check
* Rebase once more
2019-10-31 16:38:50 -04:00
Greg Fitzgerald
328a6a866e
Fix code comment ( #6640 )
...
automerge
2019-10-30 22:21:34 -07:00
Jack May
5264fded00
Avoid alloc due to vector pushes ( #6632 )
2019-10-30 21:55:17 -07:00
Rob Walker
fa12a5f70b
kill rent calculator ( #6625 )
2019-10-30 16:25:12 -07:00
Rob Walker
a587d05098
fix re delegate ( #6603 )
2019-10-29 14:42:45 -07:00
dependabot-preview[bot]
30c0a7d069
Bump serde from 1.0.101 to 1.0.102 ( #6581 )
...
automerge
2019-10-28 09:19:39 -07:00
dependabot-preview[bot]
71b4e765c8
Bump itertools from 0.8.0 to 0.8.1 ( #6583 )
...
Bumps [itertools](https://github.com/bluss/rust-itertools ) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/bluss/rust-itertools/releases )
- [Commits](https://github.com/bluss/rust-itertools/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 08:26:15 -07:00
dependabot-preview[bot]
73dd5aa2d1
Bump serde_derive from 1.0.101 to 1.0.102 ( #6582 )
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.101 to 1.0.102.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.101...v1.0.102 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 08:24:13 -07:00
Rob Walker
c9cea2152b
optimize verify_instruction ( #6539 )
2019-10-25 21:47:16 -07:00
Dan Albert
73c31d873e
Update Cargo.toml versions from 0.20.0 to 0.21.0 ( #6568 )
2019-10-25 17:40:49 -06: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
Rob Walker
b4119c454a
credit_only credits forwarding ( #6509 )
...
* credit_only_credits_forwarding
* whack transfer_now()
* fixup
* bench should retry the airdrop TX
* fixup
* try to make bench-exchange a bit more robust, informative
2019-10-23 22:01:22 -07:00
sakridge
f1172617cc
Purge accounts with lamports=0 on rooted forks ( #6315 )
2019-10-23 12:46:48 -07:00
Michael Vines
35cc74ef25
Add GenesisBlock::OperatingMode to control how cluster features are activated ( #6430 )
2019-10-23 11:50:10 -07:00
Michael Vines
3fb70b8d47
Ban XXX, TBD, FIXME comments ( #6486 )
2019-10-21 16:43:11 -07:00
Greg Fitzgerald
9232057e95
Rename replicator to archiver ( #6464 )
...
* Rename replicator to archiver
* cargo fmt
* Fix grammar
2019-10-21 11:29:37 -06:00
Justin Starry
09abbd93b1
Cleanup register_tick special handling ( #6462 )
2019-10-21 10:51:02 -04:00
Rob Walker
e2c316d2d0
system_instruction_processor updates ( #6448 )
...
* zero lamport account creation
* whack create_user_account, take 2
* target->to
* ..
* ..
* update chacha golden
* update chacha golden
* ..
* ..
2019-10-19 18:23:27 -07:00
sakridge
35ed432d1a
Make benchmark useful ( #6440 )
...
function is verify_hash_internal_state
2019-10-18 12:59:47 -07:00
dependabot-preview[bot]
51dad397ed
Bump libc from 0.2.64 to 0.2.65
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.64 to 0.2.65.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.64...0.2.65 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 08:05:49 -07:00
Sagar Dhawan
7ae5ff838b
Revert "collect rent from accounts (take:2) ( #6360 )" ( #6400 )
...
This reverts commit c1b401a04a
.
2019-10-16 13:31:21 -07:00
Justin Starry
7e6e7e8406
Remove special handling of first ledger tick ( #6263 )
...
* Remove special handling of first ledger tick
* Fix subtraction overflow
* @garious feedback
* Back to height
* More tick_height name changes
* Fix off-by-one
* Fix leader tick error
* Fix merge conflict
* Fix recently added test
2019-10-16 15:53:11 -04:00
Ryo Onodera
e267dfacdd
Stabilize some banking stage tests ( #6251 )
...
* Stabilize some banking stage tests
Fixes #5660
* Fix CI...
* clean up
* Fix ci
* Address review nits
* Use bank.max_tick_height due to off-by-one for no PohRecord's clearing bank
* Fix CI...
* Use bank.max_tick_height() instead for clarity
2019-10-16 12:37:27 -07:00
Jack May
1fd84cb52b
Enforce only system program can allocate accounts ( #6386 )
2019-10-16 10:47:45 -07:00
dependabot-preview[bot]
f6b48b0a67
Bump libc from 0.2.62 to 0.2.64
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.62 to 0.2.64.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.62...0.2.64 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-16 10:03:06 -07:00
Greg Fitzgerald
ee099b0880
Delete ref annotations ( #6394 )
...
automerge
2019-10-16 09:27:49 -07:00
Justin Starry
996c8cf2eb
Don't add bogus native loader if loader account already exists ( #6377 )
...
* Don't add bogus native loader account if it already exists
* Add assert for native loader account owner
2019-10-16 00:33:15 -04:00
Parth
c1b401a04a
collect rent from accounts (take:2) ( #6360 )
...
* collect rent from credit debit accounts
* collect rent from credit only account
* rent_collector now can deduct partial rent + no mem copy + improved design
* adding a test to test credit only rent
* add bank level test for rent deduction
* add test to check if hash value changes or not
* adding test scenario for lamport circulation
2019-10-16 07:45:47 +05:30
Greg Fitzgerald
ae41c88eb2
Boot the Builder pattern from GenesisBlock ( #6364 )
2019-10-15 13:52:44 -06:00
Rob Walker
9803f167bd
Revert "collect rent from the accounts ( #6181 )" ( #6356 )
...
automerge
2019-10-14 16:16:44 -07:00
Parth
e210e76bd5
collect rent from the accounts ( #6181 )
...
* collect rent from credit-debit account
* collect rent from credit only account
* improved design for rent collection
* only process if collected rent is non zero
* rent_collector now can deduct partial rent + no mem copy
* adding a test to test credit only rent
* add bank level test for rent deduction
* add test to check if hash value changes or not
* adding test scenario for lamport circulation
* combining rent debtors into credit only locks
2019-10-15 02:00:29 +05:30
Greg Fitzgerald
ba46bc4624
Fix system program blind derefs ( #6317 )
...
automerge
2019-10-10 16:43:49 -07:00
Rob Walker
f8b36f4658
smaller fix for system_instruction_processor's blind indexing ( #6322 )
...
automerge
2019-10-10 15:43:32 -07:00
Rob Walker
7cf90766a3
add epoch_schedule sysvar ( #6256 )
...
* add epoch_schedule sysvar
* book sheesh!
2019-10-08 22:34:26 -07:00
Michael Vines
c34cc4918f
Prevent repeated accounts in genesis to avoid breaking account hashing
2019-10-07 08:12:18 +09:00
Greg Fitzgerald
fb39bd45d7
Revert "Rename solana-runtime to sealevel ( #6239 )" ( #6247 )
...
This reverts commit 2e921437cd
.
2019-10-04 19:33:29 -06:00
Greg Fitzgerald
2e921437cd
Rename solana-runtime to sealevel ( #6239 )
...
automerge
2019-10-04 15:02:44 -07:00
Tyera Eulberg
0c3ff6b75c
Cli refactor: vote and storage program functionalities ( #6242 )
...
automerge
2019-10-04 14:18:19 -07:00
dependabot-preview[bot]
d759a447be
Bump serde_json from 1.0.40 to 1.0.41 ( #6226 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.40 to 1.0.41.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.40...v1.0.41 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-03 21:03:05 -06:00
Ryo Onodera
ffae4662bc
Use AtomicU64 now that it's stabilized ( #6222 )
2019-10-03 20:02:28 -07:00
Parth
92ea11fca1
make executable, vote and stake account rent exempt ( #6017 )
...
* add missing convenience method
* require vote account to be exempt
* make stake account rent exempt
* making executable rent exempt
* rent will be initialized in genesis
* add test for update_rent
2019-10-04 02:52:48 +05:30
Michael Vines
f9f5bc2eb5
More clippy
2019-10-02 21:21:07 -07:00
Justin Starry
8d0236e3f1
Rename bank height to block_height and expose method ( #6199 )
...
* Rename bank bank_height to block_height
* Expose block_height method
2019-10-01 14:55:39 -04:00
Justin Starry
2f92b92a8a
Expose current stake accounts of a bank for use in cli tooling ( #6184 )
2019-09-30 21:57:49 -04:00
Jack May
520f7c3e18
Optimize BPF logs ( #6186 )
2019-09-30 14:21:29 -07:00
Rob Walker
a964570b1a
add authorities to stake init ( #6104 )
...
* add authorities to stake init
* fixups
* code review
2019-09-26 13:29:29 -07:00
Parth
67d07254c2
Add rent estimation rpc ( #6109 )
...
* server side new rpc endpoint
* client side rpc
* take data_len as usize
Co-Authored-By: Tyera Eulberg <teulberg@gmail.com>
* add test and documentation
2019-09-26 23:27:13 +05:30
carllin
35365974bf
Remove serializing all ForkHashes ( #6110 )
2019-09-26 02:01:25 -07:00
carllin
701d90a41d
Remove some AccountStorage Serialization ( #6047 )
...
* Remove serialization of AccountStorageEntry fields
* Add metric for evaluating BankRc serialization time
* Serialize AppendVec current len
* Add dashboard metrics
* Move flush of AppendVecs to packaging thread
2019-09-25 18:07:41 -07:00
Rob Walker
43795193c4
add authorized parameters to vote api ( #6072 )
...
* add authorized parameters to vote api
* code review
2019-09-25 13:53:49 -07:00