Commit Graph

1852 Commits

Author SHA1 Message Date
a295febf04 move remove_if_slot_list_empty to InMemAccountsIndex (#19801) 2021-09-12 10:26:04 -05:00
361101bd31 rename generic V -> T. Matches intent better. V is now a larger type that contains T (#19798) 2021-09-12 10:25:09 -05:00
c9261e034e remove dev deps 2021-09-11 14:33:53 -07:00
c3a610374a unused deps 2021-09-11 14:33:53 -07:00
91c3b18e1e InMemAccountsIndex iter returns vec<owned> (#19778) 2021-09-11 20:33:04 +00:00
7de2236284 accounts index get returns value (#19777) 2021-09-11 13:28:56 -05:00
ed7a6c6732 push use of AccountMapEntry one level deeper (#19775) 2021-09-11 02:09:51 +00:00
cba834808a refactor generate_index zero lamports (#19769) 2021-09-10 23:46:08 +00:00
595bba95b4 accounts index traits (#19768) 2021-09-10 18:32:10 -05:00
9899cd359a accounts index iterator uses copy of pubkey and account map entry (#19767) 2021-09-10 17:52:49 -05:00
11b10439b4 factor out InMemAccountsIndex to prepare for disk index (#19773) 2021-09-10 17:52:25 -05:00
7aa5f6b833 Add CLI args for incremental snapshots (#19694)
Add `--incremental-snapshots` flag to enable incremental snapshots.
This will allow setting `--full-snapshot-interval-slots` and
`--incremental-snapshot-interval-slots`.

Also added `--maximum-incremental-snapshots-to-retain`.

Co-authored-by: Michael Vines <mvines@gmail.com>
2021-09-10 15:59:26 -05:00
2de2c6ddd7 log accounts loaded for shrink stats (#19747) 2021-09-10 12:51:58 -05:00
098585234d Add return data implementation
This consists of:
 - syscalls
 - passing return data from invoked to invoker
 - printing to stable log
 - rust and C SDK changes
2021-09-10 14:25:54 +01:00
88c1b8f047 Index loaders / executable accounts (#19469)
* Appends loaders / executable_accounts to accounts in transaction loading.

* Adds indices to loaders / executable_accounts.

* Moves MessageProcessor::create_keyed_accounts() into InvokeContext::push().

* Removes "executable_accounts",
now referenced by transaction wide index into "accounts".

* Removes create_pre_accounts() from InstructionProcessor,
as it is already in MessageProcessor.

* Collect program account indices directly in load_executable_accounts().
2021-09-10 08:36:21 +02:00
df5befdaca metrics on rent partitions (#19728) 2021-09-09 10:50:35 -05:00
8489ee7df9 Revert "collect rent in parallel for partitions (#19478)" (#19723)
This reverts commit 1560d5e3c3.
2021-09-08 21:27:08 -05:00
97418bede3 introduce BinnedHashData type to improve some code readability (#19722) 2021-09-08 19:25:52 -05:00
1cf7ae51f8 add comment (#19705) 2021-09-08 19:25:20 -05:00
001ed66b4d minor constant cleanup (#19721) 2021-09-08 18:26:10 -05:00
38bbb77989 Return error if Transaction contains writable executable or ProgramData accounts (#19629)
* Return error if Transaction locks an executable as writable

* Return error if a ProgramData account is writable but the upgradable loader isn't present

* Remove unreachable clause

* Fixup bpf tests

* Review comments

* Add new TransactionError

* Disallow writes to any upgradeable-loader account when loader not present; remove is_upgradeable_loader_present exception for all other executables
2021-09-08 15:21:52 -06:00
3a8c678f62 Remove some copying (#19691) 2021-09-08 18:32:38 +02:00
456bf15012 AccountsIndexConfig -> AccountsDbConfig (#19687) 2021-09-08 04:30:38 +00:00
d3f938f0cf Remove Copy from AccountsIndexConfig. Not all types will support it (#19686) 2021-09-07 20:09:40 -05:00
4a5f83d3a7 Add fn to check when to take snapshots (#19682) 2021-09-07 23:26:35 +00:00
a0552e5b46 Make startup aware of Incremental Snapshots (#19600) 2021-09-07 20:43:43 +00:00
982454a455 refactor do_shrink_slot_stores (#19560) 2021-09-07 15:10:49 -05:00
1560d5e3c3 collect rent in parallel for partitions (#19478)
* collect rent in parallel for partitions

* combine use

* use fg accounts db thread pool
2021-09-07 11:51:59 -05:00
9d9482b9d8 Plumb maximum_incremental_snapshot_archives_to_retain (#19640) 2021-09-06 18:01:56 -05:00
8b9e472a6c feat: add ed25519 signature verify program
Solang requires a method for verify ed25519 signatures. Add a new
builtin program at address Ed25519SigVerify111111111111111111111111111
which takes any number of ed25519 signature, public key, and message.
If any of the signatures fails to verify, an error is returned.

The changes for the web3.js package will go into another commit, since
the tests test against a released solana node. Adding web3.js ed25519
testing will break CI.
2021-09-05 18:59:37 +01:00
d461a9ac10 verify_precompiles needs FeatureSet
Rather than pass in individual features, pass in the entire feature set
so that we can add the ed25519 program feature in a later commit.
2021-09-05 18:59:37 +01:00
333e5a9446 Make purge_old_snapshot_archives aware of maximum_incremental_snapshot_archives_to_retain (#19615) 2021-09-04 07:37:29 -05:00
decec3cd8b Demote write locks on transaction program ids (#19593)
* Add feature

* Demote write lock on program ids

* Fixup bpf tests

* Update MappedMessage::is_writable

* Comma nit

* Review comments
2021-09-04 03:05:30 +00:00
7578db7ee3 add lowest_pubkey_from_bin (#19617) 2021-09-04 02:20:55 +00:00
b3fae0a01a move constants in functions to global space (#19622) 2021-09-03 19:46:42 -05:00
e6055010eb accounts index iterator takes &Range (#19618) 2021-09-03 18:00:49 -05:00
2c3bdedea3 stake: Advance credits_observed on activation epoch (#19309)
* stake: Advance `credits_observed` on activation epoch

* Add test for merging stakes just after activation
2021-09-03 23:20:56 +02:00
5e25ee5ebe Add maximum_incremental_snapshot_archives_to_retain to SnapshotConfig (#19612) 2021-09-03 20:21:32 +00:00
7ab0aec61f Rename maximum_full_snapshot_archives_to_retain (#19610)
To prepare for adding maximum_incremental_snapshot_archives_to_retain,
rename the current field in SnapshotConfig.
2021-09-03 11:28:10 -05:00
df040c05da get rid of unneeded mut and refactor addref (#19594) 2021-09-03 10:45:37 -05:00
170927b7c4 nit: Move builtins types to builtins file (#19597) 2021-09-02 21:29:11 -07:00
3936c10aa0 rename var (#19588) 2021-09-03 00:55:35 +00:00
9cc57fb076 remove file that accidentally got added (#19586) 2021-09-03 00:15:25 +00:00
e9374d32a3 Revert "Make startup aware of Incremental Snapshots (#19550)" (#19599)
This reverts commit d45ced0a5d.
2021-09-02 19:14:41 -05:00
d45ced0a5d Make startup aware of Incremental Snapshots (#19550) 2021-09-02 19:05:15 -05:00
57f51352f6 refactor AccountEntry addref/unref (#19583) 2021-09-02 23:25:27 +00:00
682daf1117 cleanup of allocate_accounts_index (#19585) 2021-09-02 22:58:07 +00:00
78585a992b add IsCached trait bounds to AccountsIndex (#19584) 2021-09-02 22:45:35 +00:00
2874f6b0a2 create remove_if_slot_list_empty to define accounts index behavior (#19581) 2021-09-02 16:54:37 -05:00
0571962776 accounts index test uses # test bins (#19580) 2021-09-02 16:32:42 -05:00