Greg Fitzgerald
3dc22e7323
Simulate auto-creation of system accounts
2019-03-07 19:18:53 -07:00
Greg Fitzgerald
17dcd1f62a
Resurrect the tests
2019-03-07 19:18:53 -07:00
Tyera Eulberg
259c820f15
Review comments
2019-03-07 17:21:32 -07:00
Tyera Eulberg
b053bc2790
Load accounts by program owner for program subscriptions
2019-03-07 17:21:32 -07:00
Stephen Akridge
8d80da6b46
Fix picking account store paths
...
Store the set of accounts paths in AccountsDB and choose with an rng
when we need to create a new one. Remove path from AccountStorageEntry object.
2019-03-07 14:58:52 -08:00
Stephen Akridge
22855def27
Fix race condition in store.
...
Multiple threads can enter the read lock and
all store the new empty set to account_maps.
Check again after taking write lock to make sure
only one thread actually inserts the new entry.
2019-03-07 14:58:52 -08:00
Greg Fitzgerald
505f77b108
Move a more generic process_transaction to runtime.rs
2019-03-07 12:42:13 -07:00
Greg Fitzgerald
5b672f8921
Generalize Budget tests to work on multi-ix txs
2019-03-07 12:42:13 -07:00
Stephen Akridge
61fbea3ee4
Cleanup AccountStorage apis
...
Remove duplicate code
2019-03-06 18:30:36 -08:00
Rob Walker
01fb76f4bd
add epoch warmup ( #3166 )
...
add epoch warmup
2019-03-06 16:32:23 -08:00
Rob Walker
63a4ed74a4
consolidate logic for epoch and slot_index into Bank ( #3144 )
2019-03-06 14:44:21 -08:00
Pankaj Garg
9163e5b004
Fix sorting order of stakes in confirmation time calculations
2019-03-06 13:11:04 -08:00
Stephen Akridge
b850f3c1dd
Remove unnecessary cleanup_paths
...
drop handles it
2019-03-06 11:17:37 -07:00
Michael Vines
53f09c44f3
Rename tokens to lamports in sdk/
2019-03-05 17:28:06 -08:00
Rob Walker
cb0560df92
remove dead code
2019-03-05 15:35:24 -08:00
Rob Walker
b9e878ee80
slot_height considered harmful ( #3135 )
...
* slot_height considered harmful
* fix test_tick_slot_epoch_indexes
2019-03-05 14:18:29 -08:00
Michael Vines
1997640094
Remove prints
2019-03-05 14:09:40 -08:00
Sagar Dhawan
9349f90a59
Inherit transaction count from parent ( #3134 )
2019-03-05 12:34:21 -08:00
Sathish Ambley
6e9d803091
Remove usage of unsafe for Accounts
2019-03-05 10:13:03 -08:00
Tyera Eulberg
b4084c6298
Fix random comment typo
2019-03-05 09:33:27 -07:00
Greg Fitzgerald
885eeec3ed
Boot storage program from the SDK
2019-03-05 07:16:33 -07:00
Greg Fitzgerald
5e9f802d7d
Boot token_program from the SDK
2019-03-05 07:16:33 -07:00
Rob Walker
43bab23651
remove duplicate child creation ( #3100 )
...
* remove duplicate child creation
* resurrect test for partial slot
* simplify blocktree_processor some more (no tick_height, yay!)
* ensure frozen
2019-03-04 19:22:23 -08:00
Rob Walker
794e961328
use Bank's notion of leader_id where possible ( #3119 )
2019-03-04 18:40:47 -08:00
Sagar Dhawan
dc42c12f2b
Revert to more consistent naming ( #3114 )
2019-03-04 17:50:19 -08:00
Stephen Akridge
97274030b9
Add test with transaction with no signatures
...
Add checks for no signature
2019-03-04 16:42:52 -08:00
Stephen Akridge
a3016aebaf
Put accounts test data files in target directory
...
And gitignore it so those aren't added accidentally.
2019-03-04 10:17:02 -08:00
carllin
de1d7ce312
Cleanup staking utils to divide functionality between delegate and normal node utitliites. Also replaces vote_states() with more generalized vote_accounts() in Bank. ( #3070 )
2019-03-03 18:04:13 -08:00
Rob Walker
e4dba03e12
accounts shedding ( #3078 )
...
* accounts shedding
* fixup
2019-03-03 16:04:04 -08:00
Greg Fitzgerald
fc5fcd6cd4
Move native_loader into solana_runtime
2019-03-03 10:59:08 -07:00
Greg Fitzgerald
41b5899856
Move programs/Cargo.toml into bpf/
2019-03-02 22:11:48 -08:00
Greg Fitzgerald
b830449f23
Move top-level native program tests to their respective crates
2019-03-02 22:11:48 -08:00
Greg Fitzgerald
037fcf6b3d
Bump all native programs up a level
...
Don't categorize programs by a single backend.
2019-03-02 22:11:48 -08:00
Stephen Akridge
e1a1296b9b
Fix cleanup_paths
...
Add back remove of parent in Accounts::drop, but
remove that in the cleanup_paths helper
for the account tests which do not use
make_default_dir.
2019-03-02 20:24:57 -08:00
Michael Vines
a9a7fc56eb
Purge MAX_RECENT_TICK_HASHES
2019-03-02 17:04:42 -08:00
Greg Fitzgerald
1edf6c361e
Move Vote program out of the SDK
2019-03-02 16:44:36 -08:00
Sagar Dhawan
b99e3eafdd
Fix stakes not being setup correctly
2019-03-02 16:44:36 -08:00
Greg Fitzgerald
e6486b2824
Move Budget out of the SDK
2019-03-02 16:44:36 -08:00
Sagar Dhawan
d22a13257e
Refactor bank get vote accounts ( #3052 )
2019-03-02 16:44:36 -08:00
Rob Walker
f4c5b9ccb0
remove remove_dir_all() of paths' parents (which we didn't make to begin with)
2019-03-02 12:36:41 -08:00
Michael Vines
a94880574b
block_hash => blockhash
2019-03-02 12:13:30 -07:00
Michael Vines
0f1582c196
cargo fmt
2019-03-02 12:13:30 -07:00
Michael Vines
258cf21416
Purge remaining last_id (now called block_hash)
2019-03-02 12:13:30 -07:00
Michael Vines
2bfad87a5f
Rename Bank.last_id() to Bank.last_block_hash()
2019-03-02 12:13:30 -07:00
Michael Vines
0743f54dfe
Rename LastIdNotFound to BlockHashNotFound
2019-03-02 12:13:30 -07:00
Michael Vines
176d5e0d37
Rename Transaction last_id field to recent_block_hash
2019-03-02 12:13:30 -07:00
Stephen Akridge
16b71a6be0
Cleanup fork id generation
...
Accounts could end up with id collision depending on how
banks are created, this shouldn't happen.
2019-03-02 10:34:41 -08:00
Michael Vines
d5de5bec4f
Register a new last_id once per slot
2019-03-02 08:47:31 -08:00
Michael Vines
61beb42797
Decouple tick counting from hash queue
2019-03-02 08:47:31 -08:00
Michael Vines
e5be3e1dca
HashQueue no longer hard codes max_entries
2019-03-02 08:47:31 -08:00
Greg Fitzgerald
49b7e67585
Return program error from process_transaction()
...
Our unit-test helper `process_transaction()` wasn't returning
program errors, which made testing programs tedious and
counter-intuitive.
2019-03-02 07:50:32 -07:00
Rob Walker
54417acfba
changed vote_states to vote_accounts, more useable ( #3047 )
2019-03-01 17:22:49 -08:00
Rob Walker
29d12d9ff1
remove new_bank_from_parent_with_id() ( #3039 )
2019-03-01 16:39:23 -08:00
Stephen Akridge
4ee857ab7d
More vote account fixes
...
vote_index not being maintained correctly during a squash.
The tokens==0 shielding accounts were being inserted with
owner=default Pubkey so they didn't know they are vote accounts
and should update the vote accounts set.
2019-03-01 16:25:14 -08:00
Rob Walker
a7c18cc0b4
Fnbool_to_FnOptionT
2019-03-01 14:12:50 -08:00
Michael Vines
e30e4cc603
Remove get_confirmation_timestamp() from HashQueue
2019-03-01 13:38:17 -08:00
Michael Vines
fdc31e99df
Clean up type casts
2019-03-01 13:38:17 -08:00
Michael Vines
a72325dbc2
entry_id -> entry
2019-03-01 13:38:17 -08:00
Michael Vines
67b6be66c8
Rename MAX_ENTRY_IDS
2019-03-01 13:38:17 -08:00
Michael Vines
8ec13d557f
Generalize tick_height to hash_height
2019-03-01 13:38:17 -08:00
Michael Vines
31f570a9f4
Remove unused functions
2019-03-01 13:38:17 -08:00
Rob Walker
38273427ad
have banks save vote_state by epoch to support stable leader schedules ( #3019 )
...
have banks save vote_state by epoch to support stable leader schedules
2019-03-01 11:54:28 -08:00
Michael Vines
46fb0b1b94
Rename last_id to last_hash within HashQueue
2019-03-01 11:48:09 -08:00
Michael Vines
224b705f8d
Rename genesis_block.last_id() to genesis_block.hash()
2019-03-01 11:48:09 -08:00
Michael Vines
a57fb00584
Rename last_id_queue.rs to hash_queue.rs
2019-03-01 09:50:51 -08:00
Michael Vines
360055ad70
Rename LastIdQueue to HashQueue
2019-03-01 09:50:51 -08:00
Greg Fitzgerald
c53c351759
Rename erc20 to token-program
...
Everything it uses already had that name, just the crate was never
renamed.
2019-03-01 10:47:38 -07:00
Pankaj Garg
b41286919d
Rename bank.id to bank.slot ( #3018 )
2019-02-28 18:02:45 -08:00
Sagar Dhawan
20e4edec61
Refactor Vote Program Account setup ( #2992 )
2019-02-28 17:08:45 -08:00
Stephen Akridge
1c44b738fe
Fix vote_accounts test
2019-02-28 15:22:47 -08:00
carllin
217f30f9c3
Add get_supermajority_slot() function ( #2976 )
...
* Moved supermajority functions into new module, staking_utils
* Move staking functions out of bank, and into staking_utils, change get_supermajority_slot to only use state from epoch boundary
* Move bank slot height in staked_nodes_at_slot() to be bank id
2019-02-28 13:15:25 -08:00
Sathish Ambley
0f2226901d
Fix transaction count after squash
2019-02-27 23:21:49 -08:00
Michael Vines
dad1511484
test_bank_squash: validate transaction_count() before/after squashing
2019-02-27 23:21:49 -08:00
Rob Walker
d23f8a3e99
increase accounts coverage ( #2993 )
2019-02-27 21:42:14 -08:00
Michael Vines
0dc5af62ff
Standardize on 'use log::*' for easy access to all log level macros
2019-02-27 21:16:23 -08:00
Michael Vines
855f1823a4
Include solana-logger for use by tests
2019-02-27 21:16:23 -08:00
Rob Walker
7fd40f1eb9
add failing test for #2994 ( #2995 )
2019-02-27 20:46:26 -08:00
Stephen Akridge
95f2f05f45
Refactor account serialize in appendvec
...
Remove dupe code and see how this compares to bincode.
Add benchmarks to justify custom serialize and also experiment with
safe solutions.
2019-02-27 19:57:50 -08:00
Rob Walker
163874d4da
remove `purge` parameter to accounts ( #2990 )
2019-02-27 16:06:06 -08:00
Michael Vines
b6ccb475f1
Clarify FIXME source
2019-02-27 10:37:48 -08:00
Sathish Ambley
ca0f16ccc0
Fix test failure
2019-02-27 08:22:52 -08:00
Stephen Akridge
c241a56fb0
Remove extraneous print.
2019-02-27 08:22:52 -08:00
Sathish Ambley
4149f7fd1c
Fix review comments
2019-02-27 08:22:52 -08:00
Sathish Ambley
96b349dcbb
Performance optimizations
2019-02-27 08:22:52 -08:00
Stephen Akridge
5216952691
Change benchmark path to target/ or OUT_DIR
...
Also reduce some code duplication with cleanup_dirs fn.
2019-02-27 08:22:52 -08:00
Sathish Ambley
c46b2541fe
- Fix lock/unlock of accounts
...
- Fix format check warnings
2019-02-27 08:22:52 -08:00
Stephen Akridge
2158ba5863
tx count per fork
2019-02-27 08:22:52 -08:00
Stephen Akridge
180d297df8
Rebase and panic with no accounts
...
Add Accounts::has_accounts function for hash_internal_state calculation.
2019-02-27 08:22:52 -08:00
Sathish Ambley
c276375a0e
Persistent account storage across directories
2019-02-27 08:22:52 -08:00
Sathish Ambley
130563cd4c
AppendVec
2019-02-27 08:22:52 -08:00
carllin
033a04129a
Add lockouts to vote program ( #2944 )
...
* Add lockouts to vote program
* Rename MAX_VOTE_HISTORY TO MAX_LOCKOUT_HISTORY, change process_vote() to only pop votes after MAX_LOCKOUT_HISTORY + 1 votes have arrived
* Correctly calculate serialized size of an Option, rename root_block to root_slot
2019-02-26 22:19:31 -07:00
Stephen Akridge
72214b2b68
Squash test to test parent bank after squash
2019-02-26 15:15:34 -08:00
Rob Walker
87281f6ed5
ensure at Accounts level that tokens == 0 means None ( #2960 )
2019-02-26 13:51:39 -08:00
Greg Fitzgerald
af206111e2
Hoist new leader scheduler up to protocol level
...
Attempt to feel similar to LeaderScheduler to easy migration.
2019-02-26 08:23:01 -08:00
Greg Fitzgerald
3897b66270
Let the bank creator decide where to send transaction fees
2019-02-26 08:06:08 -07:00
Greg Fitzgerald
feefdca969
Minor cleanup to Bank and LastIdQueue
2019-02-26 06:46:38 -08:00
Rob Walker
25690ff078
merge_parents() => squash() ( #2943 )
2019-02-25 20:34:05 -08:00
Michael Vines
897279eddb
Encapsulate log::Level so counter macro users don't need to use it
2019-02-25 20:01:30 -08:00
Rob Walker
67c9bbc6b2
* drop parents once merged ( #2930 )
...
* add bank.id() which can be used by BankForks, blocktree_processor
* add bank.hash(), make hash_internal_state() private
* add bank.freeze()/is_frozen(), also useful for blocktree_processor, eventual freeze()ing in replay
2019-02-25 14:05:02 -08:00
Greg Fitzgerald
2fbdec59cb
Generalize access to staked nodes
2019-02-25 08:49:43 -08:00