Commit Graph

639 Commits

Author SHA1 Message Date
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
Justin Starry 0be13a6295 Silence cargo install error in bpf script (#6926)
automerge
2019-11-13 08:57:12 -08:00
Greg Fitzgerald 361eab1bf7 Remove unused dependencies (#6917)
automerge
2019-11-12 22:00:29 -08: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
Michael Vines c6b108ef4f
Don't panic in sdk/ when genesis fails to load (#6892) 2019-11-12 10:24:49 -07:00
Justin Starry c7e2057d2d Install xargo if a new version is available (#6882)
automerge
2019-11-11 20:32:07 -08:00
Jack May 91cfa0aac9
Upgrade xargo if old (#6869) 2019-11-11 12:58:24 -08: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 bb9649e18d
Replacd todo with issue (#6823) 2019-11-08 11:48:07 -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
TristanDebrunner e6c8bfd008
Add --use-move flag to cargo-install-all.sh and net/net.sh (#6670) 2019-11-01 07:53: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
dependabot-preview[bot] 30c0a7d069 Bump serde from 1.0.101 to 1.0.102 (#6581)
automerge
2019-10-28 09:19:39 -07:00
dependabot-preview[bot] 71b4e765c8 Bump itertools from 0.8.0 to 0.8.1 (#6583)
Bumps [itertools](https://github.com/bluss/rust-itertools) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/bluss/rust-itertools/releases)
- [Commits](https://github.com/bluss/rust-itertools/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 08:26:15 -07:00
dependabot-preview[bot] 73dd5aa2d1 Bump serde_derive from 1.0.101 to 1.0.102 (#6582)
Bumps [serde_derive](https://github.com/serde-rs/serde) from 1.0.101 to 1.0.102.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.101...v1.0.102)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 08:24:13 -07:00
Dan Albert 73c31d873e
Update Cargo.toml versions from 0.20.0 to 0.21.0 (#6568) 2019-10-25 17:40:49 -06: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
Jack May 26d31b68d7
Update Rust-BPF to v0.1.8 (#6404) 2019-10-16 15:08:29 -07: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
Jack May 54d0168746 BPF call trace script (#6311)
automerge
2019-10-10 01:10:47 -07: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
dependabot-preview[bot] d759a447be Bump serde_json from 1.0.40 to 1.0.41 (#6226)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.40 to 1.0.41.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.40...v1.0.41)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-03 21:03:05 -06: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
dependabot-preview[bot] f14bc0bb59 Bump num-derive from 0.2.5 to 0.3.0 (#6165)
Bumps [num-derive](https://github.com/rust-num/num-derive) from 0.2.5 to 0.3.0.
- [Release notes](https://github.com/rust-num/num-derive/releases)
- [Changelog](https://github.com/rust-num/num-derive/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-derive/compare/num-derive-0.2.5...num-derive-0.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-27 20:20:57 -06:00
Jack May a09cf1470a Remove libstd statics to eliminate .bss (#6134)
automerge
2019-09-26 17:38:08 -07:00
Jack May c10b2e6cc0
Cleanup Rust BPF sysroot (#6124) 2019-09-26 13:27:33 -07:00
dependabot-preview[bot] 62429585ba Bump bincode from 1.1.4 to 1.2.0 (#6065)
Bumps [bincode](https://github.com/servo/bincode) from 1.1.4 to 1.2.0.
- [Release notes](https://github.com/servo/bincode/releases)
- [Commits](https://github.com/servo/bincode/compare/v1.1.4...v1.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-25 14:44:29 -06:00
Jack May 03dc4a20a1
Single threaded LLD (#6088) 2019-09-25 07:44:33 -07:00
Dan Albert 9c9991db1d
Update cargo toml and lock files to v0.20.0 (#6016) 2019-09-22 21:45:56 -04: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
Jack May abaccd6882 Pull in Rust-BPF v0.1.6 (#5997)
automerge
2019-09-20 11:21:01 -07:00
dependabot-preview[bot] 8eab673b1c Bump serde from 1.0.100 to 1.0.101 (#5994)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.100 to 1.0.101.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.100...v1.0.101)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-20 07:05:16 -06: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
dependabot-preview[bot] 1a71804ef2 Bump bs58 from 0.2.5 to 0.3.0 (#5974)
Bumps [bs58](https://github.com/mycorrhiza/bs58-rs) from 0.2.5 to 0.3.0.
- [Release notes](https://github.com/mycorrhiza/bs58-rs/releases)
- [Commits](https://github.com/mycorrhiza/bs58-rs/compare/0.2.5...0.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-19 10:39:37 -06:00
dependabot-preview[bot] e83f6332bf Bump serde_derive from 1.0.100 to 1.0.101 (#5945)
Bumps [serde_derive](https://github.com/serde-rs/serde) from 1.0.100 to 1.0.101.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.100...v1.0.101)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-18 21:29:40 -07:00
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
dependabot-preview[bot] 6541d9fbb0 Bump hex from 0.3.2 to 0.4.0 (#5930)
Bumps [hex](https://github.com/KokaKiwi/rust-hex) from 0.3.2 to 0.4.0.
- [Release notes](https://github.com/KokaKiwi/rust-hex/releases)
- [Commits](https://github.com/KokaKiwi/rust-hex/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-17 14:04:28 -06: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
Michael Vines e1f4e8a84a Add solana-crate-features workaround to avoid cargo feature thrashing (#5904)
automerge
2019-09-13 23:46:21 -07:00