Rob Walker
eb4edd75e6
make bank commit_credits non public ( #4944 )
...
* make bank commit_credits non pub
* track down create() failure
* move bank_client to process_transaction(), which commits credits
2019-07-08 15:37:54 -07:00
dependabot-preview[bot]
db13b52e6a
Bump serde_json from 1.0.39 to 1.0.40 ( #4881 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.39 to 1.0.40.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.39...v1.0.40 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-03 16:15:56 -06:00
Pankaj Garg
f551b34725
Fix issue in polling for transaction signatures ( #4923 )
...
- Specifically if multiple confirmation for the signature is requested
2019-07-02 20:56:10 -07:00
TristanDebrunner
091999a17e
fix Instruction and CompiledInstruction field names ( #4895 )
...
* s/program_ids_index/program_id for Instruction
* s/program_ids_index/program_id_index for CompiledInstruction
2019-07-01 18:34:22 -06:00
carllin
0c8f187993
remove syscall tick height ( #4891 )
2019-07-01 16:21:51 -07:00
sakridge
a89589a1d5
Add Measure abstraction over measuring time intervals ( #4851 )
...
Allows one to swap in different implementations. This provides
the normal Insant::now() -> .elapsed() path.
2019-06-29 15:34:49 +02:00
dependabot-preview[bot]
f0191a98ab
Bump serde from 1.0.93 to 1.0.94 ( #4864 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.93...v1.0.94 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-28 15:07:16 -07:00
Tyera Eulberg
66552d7047
Credit-Only Accounts: Cache account balance for thread-safe load/store ( #4691 )
...
* Implement CreditOnlyLocks
* Update credit-only atomic on account load
* Update credit-only atomic after bank.freeze_lock; store credits if all credit-only lock references are dropped
* Commit credit-only credits on bank freeze
* Update core to CreditAccountLocks
* Impl credit-only in System Transfer
* Rework CreditAccountLocks, test, and fix bugs
* Review comments: Pass CreditAccountLocks by reference; Tighten up insert block
* Only store credits on completed slot
* Check balance in bench_exchange funding to ensure commit_credits has completed
* Add is_debitable info to KeyedAccount meta to pass into programs
* Reinstate CreditOnlyLocks check on lock_account
* Rework CreditAccountLocks to remove strong_count usage
* Add multi-threaded credit-only locks test
* Improve RwLocks usage
* Review comments: panic if bad things happen; tighter code
* Assert lock_accounts race does not happen
* Revert panic if bad things happen; not a bad thing
2019-06-27 17:25:10 -04:00
dependabot-preview[bot]
979df17328
Bump serde_derive from 1.0.93 to 1.0.94 ( #4856 )
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.93...v1.0.94 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-27 13:18:19 -07:00
carllin
97c97db97e
Fix early exit clearing all buffered packets ( #4810 )
2019-06-26 22:39:50 -07:00
Sagar Dhawan
8cea650535
Handle NaN and inifinite point values ( #4839 )
2019-06-26 18:33:52 -07:00
Sagar Dhawan
df1c473341
Add storage point tracking and tie in storage rewards to economics ( #4824 )
...
* Add storage point tracking and tie in storage rewards to epochs and economics
* Prevent validators from updating their validations for a segment
* Fix test
* Retain syscall scoping for readability
* Update Credits to own epoch tracking
2019-06-26 10:40:03 -07:00
Rob Walker
8a64e1ddc3
add fee burning ( #4818 )
2019-06-26 10:13:21 -07:00
Sathish
1f950781c2
Use temp path for append_vec tests ( #4765 )
...
* Use temp path for serialize test
* set account path
2019-06-25 16:11:57 -07:00
Sathish
9e7f618cff
Set proper count value for account stores ( #4797 )
...
* set count values for store accounts
* Use AppendVecId type
2019-06-25 07:21:45 -07:00
Rob Walker
70f93cc126
remove mining_pool from stake_state ( #4804 )
2019-06-24 16:01:02 -07:00
anatoly yakovenko
29611fb61d
tower consensus naming ( #4598 )
...
s/locktower/tower/g
2019-06-24 13:41:23 -07:00
dependabot-preview[bot]
4e78354ab6
Bump serde_derive from 1.0.92 to 1.0.93 ( #4790 )
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.92 to 1.0.93.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.92...v1.0.93 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-23 20:23:41 -07:00
dependabot-preview[bot]
0e1480b84e
Bump serde from 1.0.92 to 1.0.93 ( #4791 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.92 to 1.0.93.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.92...v1.0.93 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-23 17:23:41 -07:00
Sagar Dhawan
11992946a4
Add storage reward pools ( #4779 )
2019-06-22 17:18:35 -07:00
Dan Albert
9911942dbd
Increment cargo.toml files to v0.17.0
2019-06-22 04:35:25 +00:00
Rob Walker
a49f5378e2
rewrite vote credits redemption to eat from rewards_pools on an epoch-sensitive basis ( #4775 )
...
* move redemption to rewards pools
* rewrite redemption, touch a few other things
* re-establish test coverage
2019-06-21 20:43:24 -07:00
dependabot-preview[bot]
deb83cdef6
Bump rayon from 1.0.3 to 1.1.0 ( #4729 )
...
automerge
2019-06-21 09:32:41 -07:00
Rob Walker
1f0f947ed2
add validator rewards pools ( #4742 )
...
* add validator rewards pools
* populate rewards syscall
2019-06-20 12:22:29 -07:00
Sathish
48b11d1841
Initialize paths for non existent accounts ( #4744 )
2019-06-19 23:15:22 -07:00
Rob Walker
7ea522e851
add rewards syscall, groom some others ( #4740 )
2019-06-19 19:46:47 -07:00
Rob Walker
41fbdc6e08
use stake ( #4721 )
2019-06-19 11:54:52 -07:00
Sathish Ambley
2562e48b9d
Check for non zero count value
2019-06-19 08:47:12 -07:00
Sathish Ambley
44967abd1c
update storage len
2019-06-17 22:48:27 -07:00
Sathish Ambley
8b41a5d725
periodically save config in separate folders
2019-06-17 22:48:27 -07:00
Sathish Ambley
07c183bb84
Fix test
2019-06-17 22:48:27 -07:00
Sathish Ambley
7fd879b417
Restart validator nodes from snapshots
2019-06-17 22:48:27 -07:00
Sathish Ambley
dc5c6e7cf8
validator restart
2019-06-17 22:48:27 -07:00
Rob Walker
0ff9c4cd8e
add stake warmup and cool down ( #4711 )
2019-06-17 19:34:21 -07:00
Rob Walker
d86358eedc
add Account::new_data ( #4701 )
...
* add account_new_data
* fixup
* fixup
2019-06-17 15:58:05 -07:00
Rob Walker
3fe5f886d7
change store to store_account ( #4689 )
2019-06-14 13:34:15 -07:00
Rob Walker
4c6a6d63bf
add MiningPools, fund validator MiningPools from inflation ( #4676 )
...
* add MiningPool fund validator MinigPools from inflation
* fixup
* finish rename of MINIMUM_SLOT_LENGTH to MINIMUM_SLOTS_PER_EPOCH
* deterministic miningpool location
* point_value, not credit_value... use f64
2019-06-14 11:38:37 -07:00
Sagar Dhawan
119467df59
Add storage mining pool to genesis and implement automatic reward redeeming ( #4683 )
...
* Add storage mining pool to genesis and implement automatic reward collection
* Address review comments
2019-06-13 22:30:51 -07:00
Greg Fitzgerald
c6b4a3a706
Witness account data in Budget ( #4650 )
...
* Add support for contracts based on account data to Budget
* Add program_id to account constraints
* No longer require a signature for the account data witness
* Rename bank::store to store_account
* fmt
* Add a doc
* clippy
2019-06-13 18:20:28 -07:00
sakridge
9e3758983d
Find max root and purge roots below it. ( #4645 )
...
* Test for forking accounts
* Find max root and purge roots below it.
2019-06-13 17:35:16 -07:00
Tyera Eulberg
8abf22f34b
Temporarily revert: Convert System Transfer accounts to credit-only ( #4670 )
2019-06-13 11:01:09 -06:00
carllin
8c1b9a0b67
Data plane verification ( #4639 )
...
* Add signature to blob
* Change Signable trait to support returning references to signable data
* Add signing to broadcast
* Verify signatures in window_service
* Add testing for signatures to erasure
* Add RPC for getting current slot, consume RPC call in test_repairman_catchup for more deterministic results
2019-06-12 16:43:05 -07:00
Tyera Eulberg
0da9ac1a47
Remove unnecessary parameter element ( #4666 )
...
* Stop passing pubkey ref unnecessarily
* Cargo.lock
2019-06-12 16:18:27 -06:00
Jack May
0dcdc37fec
Split BPF loader to match the rest of the programs ( #4636 )
2019-06-12 08:49:59 -07:00
Rob Walker
767efab941
add inflation to genesis ( #4652 )
...
* add inflation to genesis
* avoid having to write new()
2019-06-11 21:42:31 -07:00
Rob Walker
575a897ffc
track market cap ( #4643 )
...
* track market cap
* fixup, rebase
* prettier
2019-06-11 17:04:13 -07:00
Rob Walker
3217a1d70c
use highest staked node as bootstrap leader, remove bootstrap_leader from genesis_block ( #4635 )
...
* use highest staked node as bootstrap leader, remove bootstrap_leader from genesis_block
* clippy
* fixup
* fixup
2019-06-11 11:44:58 -07:00
dependabot-preview[bot]
8cc863ea6c
Bump libloading from 0.5.0 to 0.5.1 ( #4640 )
...
Bumps [libloading](https://github.com/nagisa/rust_libloading ) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/nagisa/rust_libloading/releases )
- [Commits](https://github.com/nagisa/rust_libloading/compare/0.5.0...0.5.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-11 11:21:45 -07:00
dependabot-preview[bot]
1d957b6b80
Bump byteorder from 1.3.1 to 1.3.2 ( #4641 )
...
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.3.1 to 1.3.2.
- [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.1...1.3.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-11 11:21:26 -07:00
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
Amr Ali
34344982a9
Rename programs to instruction_processors ( #3789 )
...
* Rename programs to instruction_processors
* Updates around the code base to support instruction_processors rename
* Kabab instruction_processors
* Update Cargo.toml files and scripts to use instruction-processors
* Update Cargo.toml to use instruction-processors
* Update CI scripts to use instruction-processors
2019-04-16 22:39:00 +02:00
anatoly yakovenko
f73d38739a
Split AccountsDB from Accounts ( #3808 )
...
Split AccountsDB from Accounts
2019-04-16 13:32:22 -07:00
anatoly yakovenko
a4b5493ba1
Document unsafe usage in AppendVec ( #3804 )
...
* document unsafe usage
* clippy
2019-04-16 10:53:37 -07:00
anatoly yakovenko
0ff2bfdd0c
Fewer unsafe hacks for AppendVec ( #3801 )
...
* storage account changes
* cleanup
* checks
* comments
* clippy
* tests
* woot!
* comments
* benches
2019-04-16 08:50:05 -07:00
Dan Albert
8638b3bb19
Update Cargo.toml files for version = 0.14.0
2019-04-16 02:50:20 +00:00
anatoly yakovenko
68fc303b9b
Rework Accounts for fast squash, hashing state and checkpoint recovery. ( #3613 )
...
* accounts rewrite
* ignore grow tests
* skip duplicate roots
* allow for a root race
* logger
* accounts_index tests
* tests
* tests
2019-04-15 17:15:50 -07:00
Greg Fitzgerald
80f3568062
Upgrade to Rust 1.34.0 ( #3781 )
...
* Upgrade to Rust 1.34.0
* Remove redundant closures
Thanks Clippy!
2019-04-15 15:56:08 -06:00
Rob Walker
de52747950
remove max_tick_height replicode ( #3765 )
2019-04-14 19:15:31 -07:00
Sagar Dhawan
1e8f83a74a
Use a better name for new api
2019-04-12 14:58:22 -07:00
Sagar Dhawan
1db80d79fc
Update get recent blockhashes to return confirmed blockhashes only
2019-04-12 14:58:22 -07:00
anatoly yakovenko
8b08fe265a
AppendVec PR with using "/tmp" as the default directory and a random file ( #3743 )
...
* AppendVec with raw pointers
* fixed test target directory
2019-04-12 04:30:17 -07:00
Greg Fitzgerald
485013b7ce
Revert "AppendVecs that can return references and read/append without locks ( #3713 )"
...
This reverts commit f669ae5868
.
2019-04-11 14:47:30 -07:00
Tyera Eulberg
d31989f878
CustomError from Vec->u32
2019-04-11 13:59:48 -07:00
anatoly yakovenko
f669ae5868
AppendVecs that can return references and read/append without locks ( #3713 )
...
* AppendVec with raw pointers
* appendvecs
* imports
* review
* review comments
* clippy
2019-04-11 13:16:56 -07:00
Greg Fitzgerald
a28c3b0e9a
Consume Bank in BankClient
...
This will allow BankClient to spin up a thread to use the Bank.
It'll also ease the transaction from BankClient to ThinClient since
it won't let you depend on Bank.
Drawback, you the transition from Bank to BankClient will be harder
because the Bank methods are inaccessible.
2019-04-11 12:16:33 -07:00
carllin
787dc5748a
Fixed DuplicateSigs ( #3727 )
...
* Fixed DuplicateSigs by not recording errors in signature cache of bank
2019-04-11 11:51:34 -07:00
Greg Fitzgerald
8ada4bfd1f
Remove test now covered by Vote crate
2019-04-11 10:53:11 -07:00
Greg Fitzgerald
5d4624e75f
Use Bank::add_instruction_processor to bypass manual build step
2019-04-11 10:53:11 -07:00
Jack May
d0f46d6a8a
Cleanup client traits and create super trait ( #3728 )
2019-04-11 00:25:14 -07:00
Rob Walker
f1e7237c09
vote_api cleanup ( #3710 )
...
* vote_api cleanup
* fixups
* fixup
* remove unused code
* revert removal of serialize and deserialize
* ...
* increase coverage, bootstrap staking
* Sagar's STAKE to my VOTE
2019-04-10 17:52:47 -07:00
Sagar Dhawan
c0808d01f8
Add tests
2019-04-10 15:51:00 -07:00
Sagar Dhawan
7fd5e51168
Make sure bank 0 is votable and correctly designate signer
2019-04-10 15:51:00 -07:00
Sathish
7b2abf2087
Update count for the right store ( #3683 )
2019-04-09 13:48:13 -07:00
Greg Fitzgerald
878a842611
Move append_vec bench to the crate with append_vec ( #3650 )
...
* Move append_vec bench to the crate with append_vec
* Use black_box to tell the compiler not to optimize away test data
```
pub fn black_box<T>(dummy: T) -> T {
unsafe {
let ret = std::ptr::read_volatile(&dummy);
std::mem::forget(dummy);
ret
}
}
```
* Revert "Use black_box to tell the compiler not to optimize away test data"
This reverts commit 5610b8ee957f1d8bf6e270e392859e8b23b1e472.
* Use black_box to tell the compiler not to optimize away test data
* Create bench directories
2019-04-06 07:18:56 -06:00
Rob Walker
d30049b8eb
test for debit of TX fees on full process_transaction() ( #3643 )
...
* fix double debit of TX fees
* add test that fails when removing that line
* put that line back in
* comments
2019-04-05 16:55:58 -07:00
Rob Walker
a5b5248a09
move vote_accounts up ( #3647 )
2019-04-05 14:23:00 -07:00
Rob Walker
9f046a023e
move transaction_count up ( #3618 )
...
* move transaction_count up
* fixup
2019-04-05 10:42:25 -07:00
Greg Fitzgerald
46e6911ec1
Add get_signature_status() to SyncClient
...
And move bank::Result to transaction module.
2019-04-05 10:22:05 -07:00
Greg Fitzgerald
d3844ef32a
Add AsyncClient
2019-04-05 10:22:05 -07:00
Greg Fitzgerald
1598a02a7a
Wrap all client errors with TransportError
2019-04-04 12:00:19 -06:00
Greg Fitzgerald
167f5bdc58
Add get_balance() and get_account_data() to SyncClient
...
Migrate tests to use them.
2019-04-04 12:00:19 -06:00
Greg Fitzgerald
5cd7bccdf3
Add SyncClient and use from BankClient
2019-04-04 12:00:19 -06:00
Greg Fitzgerald
35298e01a8
Remove Instruction wrapper structs and name functions after enum fields
2019-04-03 13:34:27 -07:00
Greg Fitzgerald
867f6f107b
Rename SystemInstruction::Move to SystemInstruction::Transfer
2019-04-03 08:35:57 -06:00
Greg Fitzgerald
43bb813cbe
Rename 'new_account' to 'new_user_account'
...
And 'new_program_account' to 'new_account'
2019-04-02 21:24:42 -06:00
Greg Fitzgerald
4c0bc1fd88
Add program_ids() methods
...
Added CompiledInstruction::program_id() so that we don't need to pass
around instruction indexes just for Message::program_id().
Also added Message.program_ids() that returns a slice so that we
can move those pubkeys into Message::account_keys.
2019-04-02 19:00:35 -06:00
Greg Fitzgerald
20189c5d45
Bump hashbrown to 0.2.0
2019-04-02 16:37:21 -06:00
Greg Fitzgerald
a0041cec97
Rename Runtime to MessageProcessor
2019-04-02 12:49:26 -06:00
Greg Fitzgerald
fa1c1e3734
Rename native programs to native instruction processors
2019-04-02 10:36:19 -06:00
Greg Fitzgerald
947cdd8748
Rename system_program to system_instrution_processor
2019-04-02 10:36:19 -06:00
Greg Fitzgerald
0a9f063d3e
Rename native_program.rs to instruction_processor_utils.rs
...
Prefer the term "instruction processor" over "program". Reserve
the term "native" for the loader and shared object it loads.
Compiling an instruction processor to BPF shouldn't imply changing
to a non-native entrypoint.
2019-04-02 10:36:19 -06:00
carllin
d228b6467c
Implement finalizer so that all locked accounts are dropped ( #3585 )
...
* Implement finalizer so that all locked accounts are dropped when finalizer goes out of scope
* Add test for tx error with lock conflict
* Fix double unlock from destructor running after a call to unlock
2019-04-02 03:55:42 -07:00
Sathish Ambley
3152090a66
update with review comments
2019-04-01 15:54:53 -06:00
Sathish Ambley
9a0f9b910e
add bench tests for squash operations
2019-04-01 15:54:53 -06:00
Sathish Ambley
f853c39169
remove unused member
2019-04-01 15:54:53 -06:00
Sathish Ambley
75ad1305c0
Cache vote accounts and optimize squash
2019-04-01 15:54:53 -06:00
Greg Fitzgerald
fcef54d062
Add a constructor to generate random pubkeys
2019-03-31 16:23:18 -06:00
carllin
8660c3581e
Add squashing metrics ( #3573 )
2019-03-29 21:21:59 -07:00
Greg Fitzgerald
5646daa820
Delete lots of fee parameters
...
So many zeros!
2019-03-29 19:21:51 -06:00
Greg Fitzgerald
7896e8288d
Replace Transaction::fee with a FeeCalculator
2019-03-29 19:21:51 -06:00
Greg Fitzgerald
3b516c0710
Fix build
2019-03-29 14:56:29 -06:00