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
Michael Vines
ff171baa67
Add show-block-production command
2019-12-19 00:02:11 -07: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
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
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
Greg Fitzgerald
c4f3bb9b67
Use term dapp only in places where the application needs to run entirely on-chain ( #7446 )
2019-12-12 10:38:09 -07:00
Jack May
7f6fc74c36
Remove workaround of old Rust-BPF ( #7422 )
2019-12-10 23:19:13 -08:00
Rob Walker
7d6777a96f
show rent model ( #7410 )
2019-12-10 14:50:55 -08:00
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
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
Tyera Eulberg
3ab8185777
Add intermittent Timestamping to Votes ( #7233 )
...
* Add intermittent timestamp to Vote
* Add timestamp to VoteState, add timestamp processing to program
* Print recent timestamp with solana show-vote-account
* Add offset of 1 to timestamp Vote interval to initialize at node boot (slot 1)
* Review comments
* Cache last_timestamp in Tower and use for interval check
* Move work into Tower method
* Clarify timestamping interval
* Replace tuple with struct
2019-12-06 14:38:49 -07:00
Parth
0d1fed78af
Pay rent to validators ( #7164 )
...
automerge
2019-12-05 06:10:34 -08:00
Jack May
39b578fde9
Remove runtime dependency from config program unit tests and move back to config program ( #7277 )
2019-12-04 19:24:12 -08:00
Jack May
9b172879a2
Remove deprecated solana_entrypoint macro ( #7257 )
2019-12-04 00:42:50 -08:00
Justin Starry
7cfff75c3e
Use procedural macro to generate static public keys ( #7219 )
...
automerge
2019-12-03 17:55:18 -08:00
Parth
bc09365c98
make tx fee's burn percent in proper range ( #7226 )
...
automerge
2019-12-03 12:25:43 -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
Michael Vines
7f71a0ba37
Drop default signature fee by 10x ( #7192 )
2019-12-02 14:34:26 -07:00
Rob Walker
8d75efdc58
genesis config hashmaps ( #7107 )
2019-11-26 19:23:37 -08:00
carllin
c706f9b2cd
Change from using fixed number of ticks in delay calculation ( #7152 )
...
automerge
2019-11-26 16:21:02 -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
Jack May
88cb0c6ae3
Add offline signing support to CLI ( #7104 )
2019-11-25 21:09:57 -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
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
Justin Starry
ce8d37984d
Allow secure keypair input for solana-validator cli ( #7080 )
...
* Allow secure keypair input for solana-validator cli
* feedback
* Add --skip-mnemonic-validation
* Update --identity to --identity-keypair
* Use struct instead of tuple
* Fix dependencies
* cargo fmt
* Add basic tests
* Use `seed phrase` instead of `mnemonic`
* Update passphrase prompt
2019-11-22 10:20:40 -05:00
Jack May
d8ead57fbb
Use bs58 strings to declare IDs rather then raw bytes ( #7082 )
2019-11-21 16:34:40 -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
Michael Vines
a2a9f1e331
Truncate new keypair files ( #7078 )
...
automerge
2019-11-21 10:02:04 -08:00
Jack May
3415db9739
Merge api/program into single units ( #7061 )
2019-11-20 16:32:19 -08:00
Michael Vines
1fef74b00c
Fix `solana-keygen new --force ...` ( #7064 )
...
automerge
2019-11-20 12:46:16 -08:00
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
Michael Vines
7151b92239
Don't create keypair files with r+go ( #7051 )
2019-11-19 18:26:21 -07:00
Tyera Eulberg
716caeb17c
Use camelCase ( #7050 )
...
automerge
2019-11-19 14:55:32 -08:00
Tyera Eulberg
ea656b1a3f
Add parent slot to getConfirmedBlock ( #7038 )
...
* Add parent slot to getConfirmedBlock
* Fix bad text-replace
* Use camelCase in getConfirmedBlock
2019-11-19 09:39:55 -07:00
Justin Starry
3acd84d9c0
Allow creating an vote program ix where the withdrawer is also the "to" account ( #6992 )
...
automerge
2019-11-18 12:43:47 -08:00
sakridge
c1b06817a2
Add non-dev value for slots_per_epoch and use that as default ( #6984 )
...
When --dev flag is not passed.
2019-11-16 20:53:54 -08:00
Michael Vines
5ab70c4e97
genesis: rename mint account to faucet account and make it optional ( #6990 )
2019-11-15 14:50:26 -07:00
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
Sagar Dhawan
f108f483b7
Remove Blobs and switch to Packets ( #6937 )
...
* Remove Blobs and switch to Packets
* Fix some gossip messages not respecting MTU size
* Failure to serialize is not fatal
* Add log macros
* Remove unused extern
* Apparently macro use is required
* Explicitly scope macro
* Fix test compile
2019-11-14 10:24:53 -08:00
Michael Vines
f4846b6fe4
Update rent.rs
2019-11-14 08:55:09 -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
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
Michael Vines
c6b108ef4f
Don't panic in sdk/ when genesis fails to load ( #6892 )
2019-11-12 10:24:49 -07:00
Justin Starry
9807f47d4e
Rename genesis block to genesis config ( #6816 )
2019-11-08 23:56:57 -05:00
Michael Vines
9c00ad9ff2
Remove some low-hanging TODOs ( #6839 )
2019-11-08 16:41:36 -07:00
Jack May
8babecd890
Remove todo from account ( #6827 )
2019-11-08 13:30:21 -08:00
Jack May
cd5ec8cd35
Fix blind keyed_account indexing in BPF and Move loader ( #6810 )
2019-11-08 09:19:19 -08: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
Rob Walker
b64b54f48f
unfork dalek ed25519 ( #6776 )
2019-11-07 17:08:10 -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
Jack May
65de227520
Don't panic on packet data ( #6769 )
2019-11-06 14:32:37 -08: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
Rob Walker
a1fe6265fd
use pubkeys in genesis ( #6750 )
2019-11-06 11:18:25 -08:00
Michael Vines
08973f9f05
Adjust default signature fee for base-10 lamports ( #6738 )
2019-11-05 11:21:45 -07: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
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
anatoly yakovenko
9ea398416e
Sign shreds on the GPU ( #6595 )
...
* sign gpu shreds
* wip
* checks
* tests build
* test
* tests
* test
* nits
* sign cpu test
* write out the sigs in parallel
* clippy
* cpu test
* prepare secret for gpu
* woot!
* update
* bump perf libs
2019-11-02 06:23:14 -07:00
Michael Vines
50a17fc00b
Use Slot and Epoch type aliases instead of raw u64 ( #6693 )
...
automerge
2019-11-02 00:38:30 -07:00
Rob Walker
111942a47d
document clock ( #6662 )
2019-10-31 13:26:55 -07:00
Rob Walker
bc88180058
stake split ( #6402 )
...
* stake split
* stake split
2019-10-31 11:07:27 -07:00
Rob Walker
fa12a5f70b
kill rent calculator ( #6625 )
2019-10-30 16:25:12 -07:00
Justin Starry
d2d78a073f
Remove lingering references to base-2 SOLs ( #6629 )
...
automerge
2019-10-30 14:59:44 -07:00
Tyera Eulberg
4ec95043d7
Update sol:lamport ratio to base-10 ( #6611 )
...
* Update sol:lamport ratio
* Update various SOL quantities in bash scripts
2019-10-29 20:03:48 -06:00
TristanDebrunner
b4dc1a7263
Remove move feature ( #6605 )
...
automerge
2019-10-29 17:14:07 -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
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
Jack May
ddefc96433
Limit deserialization of program inputs ( #6522 )
2019-10-23 19:56:07 -07:00
sakridge
03d29a8311
Async poh verify ( #6353 )
...
* Async poh verify
* Up ticks_per_s to 160
GPU poh verify needs shorter poh sequences or it takes forever to
verify. Keep slot time the same at 400ms.
* Fix stats
* Don't halt on ticks
* Increase retries for local_cluster tests and make repairman test serial
2019-10-23 12:11:04 -07:00
Michael Vines
35cc74ef25
Add GenesisBlock::OperatingMode to control how cluster features are activated ( #6430 )
2019-10-23 11:50:10 -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
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
sakridge
32bfced6a4
Add offset checks for sigverify ( #6452 )
...
* Add offset checks for sigverify
* decode_len returning error instead of unwrap
2019-10-18 17:52:59 -07:00
Jack May
985f5c7351
Use serde-bytes to serialize u8 efficiently ( #6442 )
...
automerge
2019-10-18 17:18:06 -07:00
Michael Vines
621c67a8cb
Adjust default cluster signature fees ( #6436 )
2019-10-18 17:00:51 -07:00
Ryo Onodera
193c9a08e0
Reject TXs when there is a mismatch ( #6236 )
...
automerge
2019-10-18 09:48:35 -07:00
Sagar Dhawan
298ba34c3c
Add flag to mark a packet as discarded ( #6427 )
2019-10-17 16:26:29 -07:00
Pankaj Garg
326a4282bb
Compute max blockhash age accounting for slot duration ( #6421 )
...
* Compute max blockhash age accounting for slot duration
* Update comment for the constant
2019-10-17 15:21:05 -07:00
Greg Fitzgerald
d3068c3918
Remove circular dependencies in core ( #6408 )
...
* Remove core::result dependency from blocktree
* Remove core::result dependency from shred
* Move Packet from core::packet to sdk::packet
This way we don't need to split perf_libs yet.
* Disable packet when compiling BPF programs
2019-10-17 11:37:30 -06: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
ae41c88eb2
Boot the Builder pattern from GenesisBlock ( #6364 )
2019-10-15 13:52:44 -06:00
Rob Walker
c2ebf466fd
reestablish parameter semantics for withdraw ( #6330 )
2019-10-14 15:02:24 -07:00
Greg Fitzgerald
ba46bc4624
Fix system program blind derefs ( #6317 )
...
automerge
2019-10-10 16:43:49 -07:00
Trent Nelson
9cde67086f
solana-keygen - Poor mans keypair encryption ( #6259 )
...
* SDK: Refactor (read|write)_keypair
Split file opening and data writing operations
Drop filename == "-" stdio signal. It is an app-level feature
* keygen: Move all non-key printing to stderr
* keygen: Adapt to SDK refactor
* keygen: Factor keypair output out to a helper function
2019-10-10 17:01:03 -06:00
Greg Fitzgerald
eca56eb87d
Add next_keyed_account() to instruction_processor_utils ( #6309 )
...
* Cleanup KeyedArguments traversal
* Better error message
* Fix clippy warning
* Rename next_arg to next_keyed_account
* Fix clippy warning
* Shorter
2019-10-10 06:30:42 -06:00
Rob Walker
e58e48e919
make sysvar creation a bit more foolproof ( #6294 )
2019-10-09 23:22:33 -07:00
Sagar Dhawan
4b0250192a
Remove remnants of the cuda feature flag ( #6298 )
...
automerge
2019-10-09 16:09:36 -07:00
Rob Walker
7cf90766a3
add epoch_schedule sysvar ( #6256 )
...
* add epoch_schedule sysvar
* book sheesh!
2019-10-08 22:34:26 -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
Justin Starry
a6363e56b6
Add native_token module to sdk ( #6192 )
2019-10-01 13:53:28 -04:00
Jack May
520f7c3e18
Optimize BPF logs ( #6186 )
2019-09-30 14:21:29 -07:00
Jack May
5486e4c364
Inline BPF log functions ( #6007 )
2019-09-20 15:40:41 -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
Jack May
0d16db2d1b
Remove bloat due to test symbols ( #5965 )
2019-09-18 19:54:10 -07:00
Rob Walker
ffdf36c65b
remove grants from inflation ( #5936 )
2019-09-17 18:52:39 -07:00
Parth
de4f564780
fix test name ( #5932 )
2019-09-18 01:14:44 +05:30
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
Justin Starry
8f5a1535af
Add mnenomic keypair generation and recovery to cli ( #5889 )
...
* Add mnenomic keypair generation and recovery to cli
* Use password input to retrieve mnemonic phrase
* Direct users without keypair file to use solana-keygen
2019-09-12 18:37:29 -07:00
Jack May
1853771930
Add support for SDK sysvar types ( #5876 )
2019-09-10 18:53:02 -07:00
Jack May
61fe1aa9cf
SDK cleanup to reduce featurization ( #5856 )
2019-09-09 16:38:52 -07:00
Jack May
a18cd29411
Remove unsigned division from FeeCalculator ( #5851 )
2019-09-09 15:07:32 -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
Rob Walker
affcb5ec43
remove hashmap from stake_history ( #5834 )
2019-09-07 10:33:06 -07:00
Jack May
1833db51a5
Cleanup program account def ( #5833 )
2019-09-06 17:32:14 -07:00
Justin Starry
81c36699c4
Add support for BPF program custom errors ( #5743 )
...
* Add support for BPF program custom errors
* Rename SOL_SUCCESS -> SUCCESS
2019-09-06 16:05:01 -07:00
Jack May
d3052d094c
fmt does not work with cfg_if ( #5829 )
2019-09-06 15:33:58 -07:00
Jack May
4c4b7d39b8
Cleanup program's ProcessInstruction ( #5828 )
2019-09-06 14:44:41 -07:00
Jack May
e8d88f3237
Split SDK's timing.rs ( #5823 )
2019-09-06 14:30:56 -07:00
Jack May
d9817c153a
Switch programs to use Pubkey from SolPubkey ( #5821 )
2019-09-06 12:40:01 -07:00
Rob Walker
4a20c2aa1b
add stake and vote errors ( #5814 )
...
* add stake errors
* remove self from type_of
* sheesh
* better
* add stake errors
* update wallet error handling
* fixup
2019-09-06 10:55:03 -07:00
Jack May
e5f902369c
Rust BPF programs depend on Solana SDK ( #5819 )
2019-09-06 09:20:14 -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
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
Rob Walker
0ffe7a9c8f
plumb some rent ( #5610 )
...
* plumb some rent
* nits
* fixups
* fixups
* fixups
2019-08-23 14:04:53 -07:00
Rob Walker
93ae98812b
change DEFAULT_NUM_TICKS_PER_SECOND to DEFAULT_TICKS_PER_SECOND ( #5559 )
2019-08-19 23:22:56 -07:00
Michael Vines
8258532791
System program is now registered like all other native programs ( #5526 )
2019-08-15 21:07:00 -07:00
Rob Walker
07d11be6ab
add global stake warmup ( #5483 )
...
* add global stake warmup
* integrate stake history into runtime
* fixup core tests
* fixup
* remove existing cooldown tests for now
2019-08-12 20:59:57 -07:00
Rob Walker
ed093f86f9
harmonize percentage members ( #5459 )
...
* harmonize percentage members
* update tests
* update capitalization when burning fees
* verify capitalization in fee burn
* fixup
2019-08-09 13:58:46 -07:00
Rob Walker
7b77fbd525
add stake_history sysvar ( #5475 )
2019-08-09 12:31:56 -07:00
Jack May
68eff230f0
Fix name-id reporting dependency ( #5354 )
2019-07-30 16:22:20 -07:00
Michael Vines
c78db6a94b
ledger path reform: use Path/PathBuf instead of strings ( #5344 )
2019-07-30 15:53:41 -07:00
Rob Walker
50a991fdf9
add executable checks to verify_instruction ( #5326 )
2019-07-29 15:29:20 -07:00
Rob Walker
b766ac0899
rent ( #5205 )
2019-07-20 16:28:17 -07:00
Rob Walker
027ebb6670
no more OUT_DIR ( #5139 )
...
* no more OUT_DIR
* no more OUT_DIR
* more information about failure
2019-07-17 14:27:58 -07:00
Greg Fitzgerald
77ea8b9b3e
Add LoaderInstruction::InvokeMain ( #5116 )
...
* Remove unreachable, untested runtime check
* tx_data -> ix_data
* Add LoaderInstruction::InvokeMain
* Add test and allow loaders to be registered statically.
* Fix clippy error
2019-07-16 10:45:32 -06:00
TristanDebrunner
6b86f85916
Add C API ( #5072 )
2019-07-15 13:17:17 -06:00
sakridge
9b54528c8e
Fix some nightly warnings ( #5093 )
...
ONCE_INIT => Once::new
Box<Error> => Box<dyn Error>
2019-07-14 13:37:55 -07:00
Rob Walker
259a5130a8
whoops ( #5083 )
2019-07-12 19:08:51 -07:00
Rob Walker
0d27515d09
tmp dirs target to farf ( #5079 )
2019-07-12 18:28:42 -07:00
Rob Walker
d2b6c2e0ce
syscall work, rename syscall to sysvar, rename current to clock ( #5074 )
...
* syscall work, rename syscall to sysvar, rename current to clock
* missed one
* nit
2019-07-12 16:38:15 -07:00
Sagar Dhawan
7c12ecbe81
Fix unnecessary computation ( #5055 )
2019-07-12 11:30:37 -07:00
Sagar Dhawan
0a36a78133
Fix replicator segment selection ( #5046 )
2019-07-11 18:31:41 -07:00
Jack May
5b95685e12
Add rewards to is_syscall_id() ( #5035 )
2019-07-11 13:47:22 -08:00
Sagar Dhawan
35ec7a5156
Decouple turns from segments in PoRep ( #5004 )
...
* Decouple Segments from Turns in Storage
* Get replicator local cluster tests running in a reasonable amount of time
* Fix unused imports
* Document new RPC APIs
* Check for exit while polling
2019-07-10 13:33:29 -07:00
Sagar Dhawan
b8e7736af2
Move SLOTS_PER_SEGMENT to genesis ( #4992 )
...
automerge
2019-07-09 16:48:40 -07: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
Pankaj Garg
38b44f2496
Reduce slot duration and consecutive leader slots ( #4838 )
...
* change consecutive leader slots to 4
* reduce polling frequency for transaction signature confirmation
* adjust wait time for transaction signature confirmation
* fix nominal test
* fix flakiness in wallet pay test
2019-07-01 13:21:00 -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
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
Sagar Dhawan
74a06e4230
Update thinclient to resend the same tx until its blockhash expires ( #4807 )
2019-06-24 16:46:34 -07: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
Michael Vines
f39e74f0d7
serde the full FeeCalculator ( #4778 )
...
automerge
2019-06-21 17:23:26 -07:00
Rob Walker
33d13a3aea
Update inflation.rs
2019-06-20 12:37:24 -07:00
Rob Walker
3600a926df
protect against corruption ( #4741 )
2019-06-19 21:29:36 -07:00
Rob Walker
7ea522e851
add rewards syscall, groom some others ( #4740 )
2019-06-19 19:46:47 -07:00
Rob Walker
2e2b1881f5
move genesis_block to builder pattern ( #4736 )
2019-06-19 15:40:39 -07:00
Rob Walker
d86358eedc
add Account::new_data ( #4701 )
...
* add account_new_data
* fixup
* fixup
2019-06-17 15:58:05 -07:00
Michael Vines
5e8fcdbe1d
Set {min,max}_lamports_per_signature correctly when fees don't adjust ( #4705 )
...
automerge
2019-06-17 13:18:12 -07:00
Pankaj Garg
02abf422df
Serialize genesis block using bincode ( #4687 )
...
* use mmap to read the genesis block, and deserialize
2019-06-14 14:22:52 -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
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
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
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
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
Rob Walker
a18c0e34f4
add activate_stake to stake_api ( #4600 )
2019-06-10 12:17:29 -07:00
TristanDebrunner
0c4cb76acf
Add GPU based PoH verification ( #4524 )
...
* Add GPU poh verify
* Switch to single PoH verify function
* Add EntrySlice verify tests with hashes and txs
* Add poh-verify benchmarks
2019-06-08 10:21:43 -06:00
Rob Walker
37c2fa1d8d
add current to bank syscalls ( #4581 )
2019-06-07 11:41:34 -07:00
Michael Vines
492cc93850
Limit short_vec length to u16, usize is overkill for our usage ( #4588 )
2019-06-06 20:18:41 -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
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
028e111fbc
remove payer from vote instructions ( #4475 )
2019-05-31 11:45:17 -07:00
Michael Vines
1de805e7cd
Add fees syscall to expose cluster fees into programs ( #4472 )
2019-05-30 15:18:48 -07:00
Rob Walker
c05c3e69ca
add tests and groom naming ( #4467 )
2019-05-29 10:08:03 -07:00
Michael Vines
9843c3a5cb
Restrict transaction fee payers to system accounts ( #4198 )
...
automerge
2019-05-24 13:06:55 -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
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
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
578c2ad3ea
add bank hash to votes ( #4381 )
2019-05-21 21:45:38 -07:00
Rob Walker
41a377013f
fix spelling ( #4378 )
...
automerge
2019-05-21 17:13:21 -07:00
Rob Walker
58295b825d
introduce syscalls ( #4373 )
2019-05-21 15:19:41 -07:00
Michael Vines
f079a78c5e
Remove fee arg from system_transaction::* ( #4346 )
...
automerge
2019-05-20 10:03:19 -07:00
Michael Vines
392a39dd54
Poh subsystem cleanup, genesis plumbing, enable real PoH on edge testnet ( #4292 )
...
* Remove unused PohServiceConfig::Step
* Clarify variable name
* Poh::hash() now takes an iteration counter
* man -> max
* Inline functions with single call site
* Move PohServiceConfig into GenesisBlock
* Add plumbing to enable real PoH on testnets
* Batch hashes to improve PoH hash rate
* Ensure a constant hashes_per_tick
* Remove PohEntry mixin field
* Poh/PohEntry no longer maintains tick_height
* Ensure a constant hashes_per_tick
* ci/localnet-sanity.sh: Use real PoH
* Rework Poh/PohService to keep PohRecorder unlocked as much as possible while hashing
2019-05-18 14:01:36 -07:00
Rob Walker
431cc82032
add Transaction::partial_sign() ( #4333 )
...
* add partial sign
* nits
2019-05-17 18:55:57 -07:00
Rob Walker
7bfb60f82e
add impl FromStr for Signature ( #4315 )
...
automerge
2019-05-16 14:54:31 -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
Pankaj Garg
c9b86018c6
Filter out all unprocessed transactions before forwarding them ( #4266 )
...
* Filter out all unprocessed transactions before forwarding them
* fix clippy
2019-05-13 14:40:05 -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
Tyera Eulberg
1b68da7572
Use solana-ed25519-dalek v0.2.0 ( #4264 )
...
automerge
2019-05-13 09:51:59 -07:00
Pankaj Garg
133be2df51
Check for transaction forwarding delay to detect an expired transaction before forwarding it ( #4249 )
...
Also refactored code for forwarding packets, and added test for it
2019-05-10 14:28:38 -07:00