Rob Walker
e56430c9fb
make runtime depend on bpf_loader ( #4601 )
...
* make runtime depend on bpf_loader
* remove vote redundancy, move bpf_loader to genesis, export program\! from bpf_loader crate
* move bpf_loader specification into genesis
* bpf tests to use genesis with bpf
* need to avoid depending on programs, except for macros
2019-06-11 10:27:22 -07:00
Michael Vines
e4d8ea11ac
Make lamports_per_signature dynamic based on cluster load ( #4562 )
...
* Make lamports_per_signature dynamic based on cluster load
* Move transaction-fees.md to implemented
2019-06-10 22:18:32 -07:00
carllin
a4035a3c65
Remove record locks and parent locks from accounts ( #4633 )
...
* Revert "Fix parent record locks usage in child banks (#4159 )"
This reverts commit 69eeb7cf08
.
* Revert "Fix DuplicateSignatures caused by races on frozen banks (#3819 )"
This reverts commit 083090817a
.
* Remove unused imports
2019-06-10 22:05:46 -07:00
Tyera Eulberg
807c69d97c
Slimmer implementation of credit-only accounts ( #4592 )
...
* Add credit-only debit/data check to verify_instruction
* Store credits and pass to accounts_db
* Add InstructionErrors and tests
* Relax account locks for credit-only accounts
* Collect credit-only account credits before passing to accounts_db to store properly
* Convert System Transfer accounts to credit-only, and fixup test
* Functionalize collect_accounts to unit test
* Review comments
* Rebase
2019-06-10 20:50:02 -06:00
sakridge
966b6999d1
Accounts index opt ( #4621 )
...
* Add accounts_index bench
* Don't take the accounts index lock unless needed
* Accounts_index remove insert return vec and add capacity stats
* Use hashbrown hashmap for accounts_index
2019-06-10 18:15:39 -07:00
Rob Walker
d1d53c3fb6
calculate stake from activated amount ( #4630 )
2019-06-10 16:17:29 -07:00
Sagar Dhawan
9e14cde461
Revert "Fix roots never being purged ( #4134 )" ( #4628 )
...
automerge
2019-06-10 14:08:09 -07:00
Rob Walker
a18c0e34f4
add activate_stake to stake_api ( #4600 )
2019-06-10 12:17:29 -07:00
Rob Walker
37c2fa1d8d
add current to bank syscalls ( #4581 )
2019-06-07 11:41:34 -07:00
carllin
c9d63204eb
Replace unneeded seqcst with relaxed on atomic operations ( #4587 )
2019-06-06 23:53:21 -07:00
Rob Walker
fd9fd43e83
add solana_name_id, reassociate names with modules, modularize id tests ( #4580 )
2019-06-06 19:27:49 -07:00
Sagar Dhawan
688f8a669a
Add a storage accounts cache to Bank ( #4578 )
2019-06-06 17:40:01 -07:00
Rob Walker
3433b08b8c
remove unnecessary wrapper ( #4559 )
2019-06-05 11:43:41 -07:00
Michael Vines
82bd2df986
Use Library::new() for windows ( #4544 )
2019-06-04 21:49:05 -07:00
dependabot-preview[bot]
e9cb4a12dc
Bump serde_derive from 1.0.91 to 1.0.92 ( #4505 )
...
automerge
2019-06-04 15:48:23 -07:00
dependabot-preview[bot]
ce2ce76958
Bump serde from 1.0.91 to 1.0.92 ( #4504 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.91 to 1.0.92.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.91...v1.0.92 )
2019-06-04 14:32:09 -07:00
dependabot-preview[bot]
d77c98530f
Bump libc from 0.2.55 to 0.2.58 ( #4514 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.55 to 0.2.58.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.55...0.2.58 )
2019-06-04 14:31:06 -07:00
Rob Walker
e7129757c9
store_accounts to use try_available ( #4523 )
...
* store_accounts to use try_available
* tighter
* clippy
2019-06-04 11:21:12 -07:00
Michael Vines
ff77789718
Collect fees at the end of a slot ( #4525 )
2019-06-03 18:40:20 -07:00
sakridge
dea663d509
Storage arranged by fork ( #4518 )
2019-06-03 15:34:32 -07:00
Rob Walker
482ef51502
register_tick() on the correct bank ( #4506 )
...
* skip syscall_id in hash and delta
* add more tests, skip syscalls
2019-06-03 09:04:26 -07:00
Michael Vines
ec5cca41bc
Separate bootstrap leader's stake lamports from its identity lamports ( #4510 )
...
* Revert "Prevent run.sh from running beyond the first epoch under normal use (#4498 )"
This reverts commit d343c409e6
.
* Separate bootstrap leader's stake lamports from its identity lamports
2019-05-31 19:58:52 -07:00
Tyera Eulberg
64e8a21d73
Add tick height syscall ( #4497 )
...
* Remove tick_height from entrypoint signature
* Impl tick_height syscall and use in storage program
* Properly remove tick height from bpf handling
2019-05-31 16:29:21 -06:00
Rob Walker
1c1d83bd56
skip syscall_id in hash and delta ( #4500 )
...
* skip syscall_id in hash and delta
* add more tests, skip syscalls
2019-05-31 12:26:45 -07:00
Sathish
182096dc1a
Create bank snapshots ( #4244 )
...
* Revert "Revert "Create bank snapshots (#3671 )" (#4243 )"
This reverts commit 81fa69d347
.
* keep saved and unsaved copies of status cache
* fix format check
* bench for status cache serialize
* misc cleanup
* remove appendvec storage on purge
* fix accounts restore
* cleanup
* Pass snapshot path as args
* Fix clippy
2019-05-30 21:31:35 -07:00
Michael Vines
1de805e7cd
Add fees syscall to expose cluster fees into programs ( #4472 )
2019-05-30 15:18:48 -07:00
Michael Vines
4537f54532
Break noop_program -> runtime dependency ( #4481 )
2019-05-30 11:20:49 -07:00
Michael Vines
39b40dfff8
Remove runtime dependency on storage ( #4480 )
2019-05-30 10:54:28 -07:00
Michael Vines
7a021dff05
Beautify Cargo.tomls with |cargo tomlfmt| ( #4477 )
2019-05-29 18:30:49 -07:00
Pankaj Garg
b5324063f1
Use thread pools for rayon par_iter ( #4473 )
...
* Use thread pools for rayon par_iter
* address review comments
* cleanup
2019-05-29 17:16:36 -07:00
Rob Walker
441fed7a5b
check freeze before updating slot_hashes ( #4448 )
...
* check freeze before updating slot_hashes
* fixup
2019-05-28 12:25:55 -07:00
Tyera Eulberg
0e26ee854b
Add test indicating need for credit-only account handling ( #4441 )
...
* Add test indicating need for credit-only account handling
* Add commented correct future test lines
2019-05-28 11:57:22 -04:00
Michael Vines
ed6a438c51
v0.16.0
2019-05-26 19:42:15 -07:00
Michael Vines
9843c3a5cb
Restrict transaction fee payers to system accounts ( #4198 )
...
automerge
2019-05-24 13:06:55 -07:00
Michael Vines
9784bbf154
Pay for storage transactions with a system account ( #4423 )
...
automerge
2019-05-24 11:04:05 -07:00
Michael Vines
cfe5afd34c
_id => _pubkey variable renaming ( #4419 )
...
* wallet: rename *_account_id to *_account_pubkey
* s/from_id/from_pubkey/g
* s/node_id/node_pubkey/g
* s/stake_id/stake_pubkey/g
* s/voter_id/voter_pubkey/g
* s/vote_id/vote_pubkey/g
* s/delegate_id/delegate_pubkey/g
* s/account_id/account_pubkey/g
* s/to_id/to_pubkey/g
* s/my_id/my_pubkey/g
* cargo fmt
* s/staker_id/staker_pubkey/g
* s/mining_pool_id/mining_pool_pubkey/g
* s/leader_id/leader_pubkey/g
* cargo fmt
* s/funding_id/funding_pubkey/g
2019-05-23 23:20:04 -07:00
Rob Walker
35e8f966e3
add freeze_lock() and fix par_process_entries() failure to detect self conflict ( #4415 )
...
* add freeze_lock and fix par_process_entries failure to detect self conflict
* fixup
* fixup
2019-05-23 17:35:15 -07:00
Tyera Eulberg
943cd0a24a
Add credit-only info to AccountMetadata ( #4405 )
...
* Add credit-only flag to AccountMeta, default to false
* Sort keys by is_credit_only within signed/unsigned groupings
* Process and de-dupe program keys along with other account keys
* Add message helper functions
* Fix test
* Improve comment
* s/is_credit_only/is_debitable
* Add InstructionKeys helper struct, and simplify program_position method
2019-05-23 18:19:53 -04:00
Michael Vines
b37d2fde3d
Add storage mining pool ( #4364 )
...
* Add storage mining pool
* Set gossip port
* Add create-storage-mining-pool-account wallet command
* Add claim-storage-reward wallet command
* Create storage account upfront
* Add storage program to genesis
* Use STORAGE_ACCOUNT_SPACE
* Fix tests
* Add wallet commands to create validator/replicator storage accounts
* Add create_validator_storage_account()
* Storage stage no longer implicitly creates a storage account
2019-05-23 14:50:23 -07:00
Michael Vines
2ed77b040a
create_genesis_block() now returns a struct ( #4403 )
2019-05-22 20:39:00 -07:00
Rob Walker
7ada8510c4
add slot_hashes to bank, remove phony slot_hashes_from_vote_instruction ( #4401 )
2019-05-22 19:07:56 -07:00
Tyera Eulberg
99d2428041
Transaction format changes toward Credit-Only accounts ( #4386 )
...
* Add num_readonly_accounts slice
* Impl programs in account_keys
* Emulate current account-loading functionality using program-account_keys (breaks exchange_program_api tests)
* Fix test
* Add temporary exchange faucet id
* Update chacha golden
* Split num_credit_only_accounts into separate fields
* Improve readability
* Move message field constants into Message
* Add MessageHeader struct and fixup comments
2019-05-22 18:23:16 -04:00
Rob Walker
de6838da78
change unwrap to expect where WSL sometimes aborts ( #4375 )
...
* change unwrap to expect where WSL sometimes aborts
* clippy
2019-05-21 21:34:51 -07:00
Michael Vines
f079a78c5e
Remove fee arg from system_transaction::* ( #4346 )
...
automerge
2019-05-20 10:03:19 -07:00
Pankaj Garg
9476fe5ce3
Use log levels for datapoint metrics ( #4335 )
...
* Use log levels for datapoint metrics
* address review comments
* fix cyclomatic complexity
2019-05-17 17:34:05 -07:00
dependabot[bot]
6b5bcfaa58
Bump libc from 0.2.54 to 0.2.55 ( #4324 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.54 to 0.2.55.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.54...0.2.55 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-17 13:24:12 -07:00
Pankaj Garg
b2ce5dc9f5
Adjust log level for counter metrics ( #4323 )
2019-05-17 07:00:06 -07:00
Greg Fitzgerald
fff1631a8b
Return a better error when a program account isn't found ( #4310 )
2019-05-16 11:32:27 -06:00
Rob Walker
87414de3e2
switch over to passive stakes ( #4295 )
...
* add failing test
* switch over to passive stakes
* test multiple stakers
2019-05-16 08:23:31 -07:00
Pankaj Garg
778bcbce50
Reduce log level for frequent log message and frequency for metrics datapoint ( #4300 )
...
automerge
2019-05-15 16:01:17 -07:00
Rob Walker
628128b376
add passive staking to local_cluster ( #4285 )
...
* add passive staking to local_cluster
* add stake_program to genesis
* use equal stakes in local_cluster tests
2019-05-15 12:15:31 -07:00
dependabot[bot]
1d327a5167
Bump bincode from 1.1.3 to 1.1.4 ( #4290 )
...
Bumps [bincode](https://github.com/TyOverby/bincode ) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/TyOverby/bincode/releases )
- [Commits](https://github.com/TyOverby/bincode/compare/v1.1.3...v1.1.4 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-15 09:47:55 -06:00
Rob Walker
0c1191c3ee
rework staking_utils ( #4283 )
2019-05-14 16:15:51 -07:00
Rob Walker
216e9a61a0
expose stake directly from bank ( #4281 )
2019-05-14 13:35:14 -07:00
Rob Walker
e8ad822111
get program names from programs ( #4273 )
...
* get program names from programs
* fixup
2019-05-14 10:44:16 -07:00
Sathish
727802684c
Use 20 bytes signature slice for cache purposes ( #4260 )
2019-05-13 22:53:10 -07:00
carllin
3bd921264a
Move EpochSchedule into own module ( #4272 )
2019-05-13 16:24:32 -07:00
carllin
7501ed65e5
Initialize and Update EpochSlots in RepairService ( #4255 )
...
* Initialize EpochSlots in RepairService
* Fix flaky test
2019-05-13 15:37:50 -07:00
Rob Walker
0d2574f8f0
get DLL names from programs that made the DLL ( #4269 )
...
* get program names from programs
* fixup
2019-05-13 14:17:44 -07:00
Michael Vines
a2e3a92b01
Extend GetBlockHash RPC API to include the fee scehdule for using the returned blockhash ( #4222 )
2019-05-13 12:49:37 -07:00
Rob Walker
23c696706b
add stake_accounts to banks' caches ( #4267 )
2019-05-13 12:33:23 -07:00
Jack May
f567877d1d
Cleanup metrics ( #4230 )
2019-05-10 08:33:58 -07:00
Rob Walker
81fa69d347
Revert "Create bank snapshots ( #3671 )" ( #4243 )
...
This reverts commit abf2b300da
.
2019-05-09 19:27:27 -07:00
Sathish
abf2b300da
Create bank snapshots ( #3671 )
...
* Be able to create bank snapshots
* fix clippy
* load snapshot on start
* regenerate account index from the storage
* Remove rc feature dependency
* cleanup
* save snapshot for slot 0
2019-05-09 19:27:06 -07:00
carllin
ab3c988146
API for getting first and last slots in epoch ( #4241 )
...
automerge
2019-05-09 16:06:57 -07:00
Rob Walker
a80176496d
add /target/ to .gitignore files for all crates ( #4217 )
...
* add /target/ to .gitignore files for all crates
* shellcheck
2019-05-08 12:15:05 -07:00
Pankaj Garg
1a2b131ceb
Don't forward transactions that are expired or failed signature check ( #4199 )
2019-05-08 10:32:25 -07:00
Rob Walker
b49f8c0984
reduce replicode, introduce passive staking support ( #4207 )
2019-05-07 22:22:43 -07:00
Michael Vines
7609a007c6
Add FeeCalculator to the genesis block ( #4196 )
2019-05-07 20:28:41 -07:00
dependabot[bot]
674a49f8d7
Bump serde_derive from 1.0.90 to 1.0.91 ( #4172 )
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.90 to 1.0.91.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.90...v1.0.91 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-07 20:05:41 -07:00
carllin
69eeb7cf08
Fix parent record locks usage in child banks ( #4159 )
...
* Introduce record locks on txs that will be recorded
* Add tests for LockedAccountsResults
* Fix broken bench
* Exit process_entries on detecting conflicting locks within same entry
2019-05-07 15:51:35 -07:00
Michael Vines
d9e18a71ec
Pay program loading fees from a system account ( #4190 )
2019-05-07 15:00:54 -07:00
Rob Walker
8e400fc4bd
rework genesis (passive staking groundwork) ( #4187 )
...
* rework genesis
* fixup
2019-05-07 11:16:22 -07:00
Tyera Eulberg
71f9b44687
Add Confirmations parameter to RPC Subscriptions ( #4154 )
...
* Add optional depth parameter to pubsub, and store in subscriptions
* Pass bank_forks into rpc_subscription; add method to check depth before notify and impl for account subscriptions
* Impl check-depth for signature subscriptions
* Impl check-depth for program subscriptions
* Plumb fork id through accounts
* Use fork id and root to prevent repeated account notifications; also s/Depth/Confirmations
* Write tests in terms of bank_forks
* Fixup accounts tests
* Add pubsub-confirmations tests
* Update pubsub documentation
2019-05-06 08:31:50 -06:00
carllin
5bb75a5894
Fix roots never being purged ( #4134 )
2019-05-03 15:17:37 -07:00
Rob Walker
7f75cc8906
update nightly to 2019-05-01 ( #4111 )
...
* update nightly to 2019-05-01
* cargo fmt
* cargo fmt
* increase bench timeout
2019-05-01 20:08:42 -07:00
Rob Walker
cb528af4e2
fix accounts_db storage.reset() ( #4094 )
...
* fix accounts_db storage.reset()
* fix compilation errors, remove unused, fix test_accounts_grow() failure
2019-05-01 09:27:13 -07:00
carllin
73f250f03a
Make minimum warmup period 32 slots long ( #4031 )
...
* Make minimum warmup period 32 slots long
* PR fixes
2019-04-29 15:26:52 -07:00
Jack May
c545e812d0
Expand bank benches to include async/sync and native_loader ( #4026 )
2019-04-29 13:09:11 -07:00
anatoly yakovenko
c2193a37ce
cleanup unused function ( #4064 )
2019-04-29 12:45:14 -07:00
anatoly yakovenko
acba1d6f9e
Roots are added out of order to the accounts index ( #4051 )
...
* fix root race
* assert root order
* fixup! assert root order
* last root test
* update
* fix tests
2019-04-28 10:27:37 -07:00
anatoly yakovenko
3e14af5033
bast bank ancestor check ( #4050 )
2019-04-28 10:27:09 -07:00
Sagar Dhawan
18e398131d
Fix issues with bench-tps ( #4005 )
2019-04-27 08:39:29 -07:00
Michael Vines
656e2649a7
v0.15.0
2019-04-27 07:38:46 -07:00
sakridge
aa0b67c93c
Use newer blockhash for recent_confirmed_blockhash api ( #3995 )
...
Oldest blockhash is sometimes too old and does not allow
for transactions to go through.
2019-04-25 16:57:25 -07:00
Sagar Dhawan
a3c302c36a
Add signature polling to SyncClient ( #3996 )
...
automerge
2019-04-25 12:46:40 -07:00
anatoly yakovenko
c969975fde
lockfree storage ( #3963 )
2019-04-24 11:51:57 -05:00
sakridge
23c01473a0
Use cache for dll symbols ( #3950 )
...
Speeds up loaded programs.
2019-04-23 17:25:03 -07:00
carllin
ab11327e34
Fix mismatch between leader/validator bank votability ( #3942 )
...
* Fix mismatch between leader/validator bank votability
2019-04-23 15:32:19 -07:00
Greg Fitzgerald
29698fcd38
Cleanup stragglers from move-to-transfer rename ( #3947 )
2019-04-23 13:30:42 -06:00
Rob Walker
5406d82d89
fix race in get_exclusive_storage() and load() ( #3941 )
...
* Revert "Revert "account storage is not in sync with the index after gc (#3914 )" (#3936 )"
This reverts commit 4f47fc00bc
.
* fix get_exclusive_storage
* clippy
2019-04-23 09:56:36 -07:00
Pankaj Garg
4f47fc00bc
Revert "account storage is not in sync with the index after gc ( #3914 )" ( #3936 )
...
This reverts commit 101d6b92ee
.
2019-04-22 17:14:41 -07:00
anatoly yakovenko
101d6b92ee
account storage is not in sync with the index after gc ( #3914 )
...
* account storage is not in sync with the index after gc
* builds
* clippy fmt
* test
* purge dead forks on store
* rm println
* also fixed count_stores
* comments
2019-04-20 20:50:50 -05:00
Tyera Eulberg
e0acd48944
Write bench-tps in terms of client ( #3904 )
...
* Write bench-tps in terms of client
* Add transactions_addr method for logging
* Move cluster config outside do_bench_tps
* Add BankClient test
2019-04-19 15:04:36 -06:00
Jack May
afb00432d4
Add BankClient support to bench-exchange ( #3902 )
2019-04-19 13:18:20 -07:00
Greg Fitzgerald
5fb8baed04
Process async BankClient transactions in batches ( #3738 )
...
* Process async transactions in batches
This aims to process transactions at least as fast as LocalCluster
* Add benchmark
2019-04-19 07:29:07 -06:00
carllin
512bfc93cb
Add a cache for leader schedules ( #3841 )
...
* Add a cache for leader schedules
2019-04-19 02:39:44 -07:00
Greg Fitzgerald
51a2988bb2
Revert "Rename programs to instruction_processors ( #3789 )" ( #3824 )
...
This reverts commit 34344982a9
.
2019-04-17 15:05:49 -06:00
carllin
083090817a
Fix DuplicateSignatures caused by races on frozen banks ( #3819 )
...
* Duplicate parent account locks into children in new_from_parent, check parent locks in lock_account()
2019-04-17 13:45:33 -07:00
anatoly yakovenko
1e20d449ce
`bank_height / slot` is the block drop rate ( #3816 )
...
* bank_height/slot would give is the block drop rate
* use metrics
2019-04-16 19:35:38 -07:00