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
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
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
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
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
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
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
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
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
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
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
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
Rob Walker
8d75efdc58
genesis config hashmaps ( #7107 )
2019-11-26 19:23:37 -08: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
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
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
Rob Walker
c9cea2152b
optimize verify_instruction ( #6539 )
2019-10-25 21:47:16 -07: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
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
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
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
Sagar Dhawan
e987d0094f
Move status cache serialization to the Snapshot Packager service ( #6081 )
...
* Move status cache serialization to the Snapshot Packager service
* Minor comment updates
* use ok_or_else instead of ok_or
* satus cache
* Remove assert when snapshot format is wrong
* Fix compile
* Remove slots_to_snapshot from bank forks
* Address review comment
* Remove unused imports
2019-09-25 13:42:19 -07:00
sakridge
093b5b5267
Prune fork_hashes with dead forks ( #6085 )
2019-09-25 11:16:14 -07:00
Justin Starry
b6a8268da3
Fix BPF program static linking ( #5992 )
2019-09-24 07:09:53 -04:00
Rob Walker
72fb52ec60
rename balance ( #5984 )
2019-09-23 15:20:45 -07:00
carllin
261ea00efb
Fix race between observing tick height being set to last tick and blockhash being observed on a bank ( #6013 )
2019-09-23 12:54:39 -07:00
carllin
8240d1fe0a
Confidence implementation ( #5993 )
...
* Change confidence parameters
* Add status_cache_ancestors to get all relevant ancestors of a bank including roots from status cache
* Fix and add tests
* Clippy
2019-09-20 19:38:56 -07:00
Michael Vines
a60a3efc1a
Revert "require stake, vote and executable accounts to be rent exempt ( #5928 )" ( #6005 )
...
This reverts commit 11e6197a83
.
2019-09-20 14:10:39 -07:00
sakridge
19ae556857
hash account state on store ( #5573 )
2019-09-20 13:21:12 -07:00
Parth
11e6197a83
require stake, vote and executable accounts to be rent exempt ( #5928 )
...
* require vote account to be exempt
* make stake account rent exempt
* add rent exempted system instruction
* use rent exemption instruction in vote and stake api
* use rent exempted account while creating executable account
* updating chacha golden hash as instruction data has changed
* rent will be initialized for genesis bank too
2019-09-20 16:52:17 +05:30
Rob Walker
5cbd1190b2
transaction batch ( #5962 )
...
* transaction batch
* fixup
2019-09-19 10:06:08 -07:00
Michael Vines
e26f68fe62
Get transactions from LockedAccountsResults when possible ( #5923 )
2019-09-17 08:41:56 -07:00
Parth
d63518a835
Rent tangential stuff ( #5910 )
...
* rename rent.rs to rent_calculator.rs
* add rent sysvar
* integrate rent_calculator with bank
* rent_calculator integration with genesis
* add test for rent sysvar
2019-09-17 17:12:55 +05:30
Michael Vines
f10438d530
Respect randomized transaction order when unlocking accounts ( #5918 )
2019-09-16 21:45:16 -07:00
Sagar Dhawan
c1d788880d
Limit Rayon threadpool threads ( #5871 )
2019-09-12 11:39:39 -07:00
Jack May
1853771930
Add support for SDK sysvar types ( #5876 )
2019-09-10 18:53:02 -07:00
Rob Walker
b881029de3
make voter_pubkey a function of epoch ( #5830 )
...
* make voter_pubkey a function of epoch
* fixups
2019-09-09 18:17:32 -07:00
Jack May
61fe1aa9cf
SDK cleanup to reduce featurization ( #5856 )
2019-09-09 16:38:52 -07:00
Jack May
a317e9513f
Add sysvar support ( #5838 )
2019-09-09 10:55:35 -07:00
sakridge
b35c022629
More types ( #5846 )
...
automerge
2019-09-08 11:13:59 -07:00
Jack May
e8d88f3237
Split SDK's timing.rs ( #5823 )
2019-09-06 14:30:56 -07:00
Michael Vines
1f9fde5f7b
ThinClient internal name grooming ( #5800 )
2019-09-06 09:07:40 -07:00
Rob Walker
933e835838
add stake lockup ( #5782 )
...
* add stake lockup
* fixup
2019-09-04 13:34:09 -07:00
Parth
7dfb735db9
randomize tx ordering ( #4978 )
...
Summary of Changes:
This change adds functionality to randomize tx execution for every entry. It does this by implementing OrderedIterator that iterates tx slice as per the order specified. The order is generated randomly for every entry.
2019-08-28 21:08:32 +05:30
Sunny Gleason
34ab25a88b
feat: getInflation() endpoint ( #5681 )
2019-08-27 18:17:03 -04:00
Rob Walker
e2ecacc141
runtime checks for rent_epoch ( #5629 )
...
* runtime checks for rent_epoch
* add actual test
* bigger timeout
* backout 90 min timeout
* new noop
2019-08-26 11:04:20 -07:00
Michael Vines
4e827af392
Remove unnecessary trailing semicolons ( #5636 )
2019-08-23 22:47:54 -07:00
Rob Walker
0ffe7a9c8f
plumb some rent ( #5610 )
...
* plumb some rent
* nits
* fixups
* fixups
* fixups
2019-08-23 14:04:53 -07:00