Sagar Dhawan
78bb96ee51
Reduce bootstrap leader stake ( #3218 )
2019-03-11 13:29:44 -07:00
Rob Walker
195a880576
pass Pubkeys as refs, copy only where values needed ( #3213 )
...
* pass Pubkeys as refs, copy only where values needed
* Pubkey is pervasive
* fixup
2019-03-09 19:28:43 -08:00
Rob Walker
0acdbc0d03
plumb staking_account and voting_keypair from multinode-demo to Vote ( #3199 )
...
* plumb staking_account and voting_keypair from bash to Vote
2019-03-08 19:29:08 -07:00
Greg Fitzgerald
94882418ab
Simplify TransactionBuilder
...
A stepping stone to replacing all Transaction constructors with
TransactionBuilders.
2019-03-07 08:11:03 -07:00
Rob Walker
01fb76f4bd
add epoch warmup ( #3166 )
...
add epoch warmup
2019-03-06 16:32:23 -08:00
anatoly yakovenko
1c0cfb17a3
Start leader based on Poh tick height. ( #3084 )
...
* Start leader based on poh and test
* Equalize validator and leader stakes in LocalCluster
* Clear WorkingBank on poh_recorder reset
2019-03-05 17:56:51 -08:00
Michael Vines
e2d30db7e1
Rename tokens to lamports
2019-03-05 17:56:44 -08:00
Michael Vines
53f09c44f3
Rename tokens to lamports in sdk/
2019-03-05 17:28:06 -08:00
Greg Fitzgerald
885eeec3ed
Boot storage program from the SDK
2019-03-05 07:16:33 -07:00
Greg Fitzgerald
5e9f802d7d
Boot token_program from the SDK
2019-03-05 07:16:33 -07:00
Greg Fitzgerald
4f6d7702c5
Add a way to build unsigned transactions
2019-03-04 17:47:46 -07:00
Stephen Akridge
97274030b9
Add test with transaction with no signatures
...
Add checks for no signature
2019-03-04 16:42:52 -08:00
Greg Fitzgerald
2ec9bc9f05
Revive payments via Budget
2019-03-03 17:29:13 -07:00
Greg Fitzgerald
9c3e7e40cf
Less pub
2019-03-02 17:36:51 -08:00
Michael Vines
a9a7fc56eb
Purge MAX_RECENT_TICK_HASHES
2019-03-02 17:04:42 -08:00
Greg Fitzgerald
398b78dd97
Delete duplicate file
2019-03-02 16:44:36 -08:00
Greg Fitzgerald
1edf6c361e
Move Vote program out of the SDK
2019-03-02 16:44:36 -08:00
Sagar Dhawan
b99e3eafdd
Fix stakes not being setup correctly
2019-03-02 16:44:36 -08:00
Greg Fitzgerald
e6486b2824
Move Budget out of the SDK
2019-03-02 16:44:36 -08:00
Michael Vines
a94880574b
block_hash => blockhash
2019-03-02 12:13:30 -07:00
Michael Vines
0f1582c196
cargo fmt
2019-03-02 12:13:30 -07:00
Michael Vines
ea110efabd
Rename AdvertiseStorageLastId to AdvertiseStorageRecentBlockHash
2019-03-02 12:13:30 -07:00
Michael Vines
176d5e0d37
Rename Transaction last_id field to recent_block_hash
2019-03-02 12:13:30 -07:00
Michael Vines
d5de5bec4f
Register a new last_id once per slot
2019-03-02 08:47:31 -08:00
Greg Fitzgerald
db825b6e26
Fix vote program bugs
...
Also:
* Add an assertion to the transaction builder if not enough
keypairs were provided for all keys that require signatures.
* Expose bugs in the runtime.
2019-03-02 07:50:32 -07:00
dependabot[bot]
269a82f796
Bump serde_derive from 1.0.88 to 1.0.89
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.88 to 1.0.89.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.88...v1.0.89 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-01 20:15:49 -07:00
dependabot[bot]
771a88665c
Bump serde from 1.0.88 to 1.0.89
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.88 to 1.0.89.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.88...v1.0.89 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-01 15:51:11 -07:00
Michael Vines
fdc31e99df
Clean up type casts
2019-03-01 13:38:17 -08:00
Michael Vines
67b6be66c8
Rename MAX_ENTRY_IDS
2019-03-01 13:38:17 -08:00
Rob Walker
38273427ad
have banks save vote_state by epoch to support stable leader schedules ( #3019 )
...
have banks save vote_state by epoch to support stable leader schedules
2019-03-01 11:54:28 -08:00
Michael Vines
224b705f8d
Rename genesis_block.last_id() to genesis_block.hash()
2019-03-01 11:48:09 -08:00
Jack May
564057c812
Bump rust-bpf-sysroot to pull in liballoc
2019-02-28 17:25:28 -08:00
Sagar Dhawan
20e4edec61
Refactor Vote Program Account setup ( #2992 )
2019-02-28 17:08:45 -08:00
Greg Fitzgerald
485ccd20e4
Use TransactionBuilder in the Rewards transaction
2019-02-28 10:53:26 -08:00
Greg Fitzgerald
a79caf7795
Test transaction with a fee
2019-02-28 08:56:55 -07:00
Greg Fitzgerald
404aa63147
Add TransactionBuilder
2019-02-28 08:56:55 -07:00
Greg Fitzgerald
4610706d9f
Generalize instruction
...
For serialization: Instruction<u8, u8>
For users: Instruction<Pubkey, (Pubkey, bool)>
For programs: Instruction<Pubkey, (Pubkey, bool, Account)>
2019-02-28 08:56:55 -07:00
dependabot[bot]
5b72a984a3
Bump serde_json from 1.0.38 to 1.0.39
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.38 to 1.0.39.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.38...v1.0.39 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-28 06:57:17 -07:00
Jack May
cf545e64b8
xargo requiress sysroot as source to build dependent crates
2019-02-28 00:49:06 -08:00
Jack May
ac1e266588
Bump rust-bpf to pull in built-in target bpfel-unknown-unknown ( #3001 )
2019-02-28 00:26:50 -08:00
carllin
033a04129a
Add lockouts to vote program ( #2944 )
...
* Add lockouts to vote program
* Rename MAX_VOTE_HISTORY TO MAX_LOCKOUT_HISTORY, change process_vote() to only pop votes after MAX_LOCKOUT_HISTORY + 1 votes have arrived
* Correctly calculate serialized size of an Option, rename root_block to root_slot
2019-02-26 22:19:31 -07:00
Jack May
9750488200
Update rust-bpf-sysroot to pull in latest core,stdsimd ( #2972 )
2019-02-26 19:55:28 -08:00
Jack May
a8cd66ffa2
Pull Rust enabled LLVM ( #2957 )
2019-02-26 13:03:57 -08:00
anatoly yakovenko
6dcb97af9e
Move PohService and PohRecorder out of banking_stage and into fullnode ( #2852 )
...
* Move PohService out of banking_stage and into fullnode.
* 10 second slots
2019-02-26 10:48:18 -08:00
Jack May
6a61f25735
Only install rust-bpf if rust-bpf version changes ( #2939 )
2019-02-25 19:09:16 -08:00
Jack May
a2bf59cbba
Ignore rust toolchain and sysroot
2019-02-25 16:40:35 -08:00
Jack May
329382f016
Pull BPF enabled rustc and sysroot into SDK ( #2936 )
2019-02-25 15:35:45 -08:00
Michael Vines
ed684c5ec6
Build docker image with rust 1.32
2019-02-25 09:16:11 -08:00
Greg Fitzgerald
2fbdec59cb
Generalize access to staked nodes
2019-02-25 08:49:43 -08:00
Stephen Akridge
66891d9d4e
Don't use global storage account
...
Other accounts would not be able to modify the system accounts userdata.
2019-02-22 15:59:55 -08:00
Greg Fitzgerald
5541eedcc4
Reject modifications to userdata if not owned by the program
2019-02-22 16:18:10 -07:00
Greg Fitzgerald
f0f55af35b
Add scheduler config to genesis
...
Anything that affects how the ledger is interpreted needs to be
in the genesis block or someplace on the ledger before later
parts of the ledger are interpreted. We currently don't have an
on-chain program for cluster parameters, so that leaves only
the genesis block option.
2019-02-21 17:29:55 -08:00
Stephen Akridge
f77788447c
Debug for Account
...
Derive prints the full userdata vec which is questionably useful.
2019-02-21 14:57:32 -08:00
Carl
9e1c5e1ab0
switch vote program to use slot height instead of tick height, change confirmation computation to use slots
2019-02-21 15:31:53 -07:00
Greg Fitzgerald
94f9ac0332
DRY up GenesisBlock
2019-02-19 20:34:58 -08:00
Greg Fitzgerald
dde886f058
Move Bank to its own crate
...
Also:
* counters.rs to solana_metrics
* genesis_block.rs to solana_sdk
2019-02-19 07:17:04 -07:00
Greg Fitzgerald
d357640fbf
Centralize decentralized timing constants
2019-02-18 19:46:58 -08:00
dependabot[bot]
e42c95a327
Bump bincode from 1.1.1 to 1.1.2
...
Bumps [bincode](https://github.com/TyOverby/bincode ) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/TyOverby/bincode/releases )
- [Commits](https://github.com/TyOverby/bincode/compare/v1.1.1...v1.1.2 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-16 13:58:37 -07:00
Michael Vines
599516473a
Add top-level run.sh for easy local cluster startup
2019-02-16 10:40:47 -08:00
Michael Vines
3548c6c43a
Add support for locally built programs
2019-02-16 10:40:47 -08:00
dependabot[bot]
38aed0c886
Bump serde_derive from 1.0.87 to 1.0.88
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.87 to 1.0.88.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.87...v1.0.88 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-16 04:57:32 -08:00
dependabot[bot]
02801b3e75
Bump serde from 1.0.87 to 1.0.88
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.87 to 1.0.88.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.87...v1.0.88 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-16 05:02:10 -07:00
Greg Fitzgerald
132c664e18
No longer modify external userdata
2019-02-15 18:36:55 -07:00
Greg Fitzgerald
55f06f5bad
Make vote_program available to reward_program tests
...
Making `solana_vote_program` is not an option because
then vote_program's entrypoint conflicts with reward_program's
entrypoint.
This unfortunately turns the SDK into a dumping ground for all
things shared between vote_program and other programs. Better
would be to create a solana-vote-api crate similar to the
solana-rewards-api crate.
2019-02-15 18:36:55 -07:00
Greg Fitzgerald
7f3aca15dd
Add a library for creating Rewards transactions
...
And move out of the SDK
2019-02-15 18:36:55 -07:00
Greg Fitzgerald
2c5cbaff25
Add unit-test for Rewards program
2019-02-15 18:36:55 -07:00
Greg Fitzgerald
4e4a1643c4
Boot SystemInstruction::Spawn
2019-02-14 13:26:46 -07:00
Greg Fitzgerald
4a0009365e
Use Account::owner as loader for executable accounts
2019-02-14 13:26:46 -07:00
dependabot[bot]
3849b8ece4
Bump bincode from 1.0.1 to 1.1.1 ( #2709 )
...
* Bump bincode from 1.0.1 to 1.1.1
Bumps [bincode](https://github.com/TyOverby/bincode ) from 1.0.1 to 1.1.1.
- [Release notes](https://github.com/TyOverby/bincode/releases )
- [Commits](https://github.com/TyOverby/bincode/commits )
Signed-off-by: dependabot[bot] <support@dependabot.com>
* update autocfg 0.1.1 => 0.1.2
2019-02-14 12:46:22 -06:00
Greg Fitzgerald
48671a1728
Let native_loader own native executable accounts
2019-02-13 20:55:36 -08:00
Greg Fitzgerald
72b6ec4aa8
Add native program account constructor
2019-02-13 20:55:36 -08:00
Greg Fitzgerald
c178fc7249
Rewrite get_votes()
...
Panic if deserialize fails.
2019-02-13 10:05:28 -07:00
Greg Fitzgerald
41554f433b
Fix VoteTransaction::get_votes()
2019-02-13 10:05:28 -07:00
Michael Vines
da5b777ee7
Purge Default::default()
2019-02-09 10:12:32 -08:00
Tyera Eulberg
3c6af52a71
Fix pay-to-self Accounts bug ( #2682 )
...
* Add failing tests
* Fix tests
* Plumb AccountLoadedTwice error
* Fixup budget cancel actions to not depend on duplicate accounts
* Use has_duplicates
* Update budget-based golden
2019-02-07 12:14:10 -07:00
Greg Fitzgerald
d1945c29d7
Don't depend on solana_native_loader for IDs in the SDK
2019-02-07 08:23:44 -08:00
Greg Fitzgerald
549f9676f1
Allow validators to accumulate credits for voting
2019-02-05 14:24:49 -07:00
dependabot[bot]
85333c5d62
Bump serde_derive from 1.0.85 to 1.0.87
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.85 to 1.0.87.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.85...v1.0.87 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-04 17:07:01 -07:00
dependabot[bot]
32f19c5c19
Bump serde from 1.0.85 to 1.0.87
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.85 to 1.0.87.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.85...v1.0.87 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-04 09:08:09 -07:00
Greg Fitzgerald
511d8275d6
Document current vote program semantics
...
And add a new 'staker_id' VoteState member variable to offer a path to
work our way out. Update leader scheduler to use staker_id, but
continue setting it to 'from_id' for the moment.
No functional changes here.
2019-02-01 16:03:46 -08:00
Greg Fitzgerald
9c07a8c26a
VoteProgram -> VoteState
2019-02-01 16:03:46 -08:00
Greg Fitzgerald
dad0bfe447
Replace transaction traits with structs
...
Also:
* SystemTransaction::new -> new_account
* SystemTransaction::new_create -> new_program_account
2019-02-01 11:38:25 -08:00
dependabot[bot]
0e58023794
Bump serde_json from 1.0.37 to 1.0.38
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.37 to 1.0.38.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.37...v1.0.38 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-01 10:06:21 -07:00
Greg Fitzgerald
85e7046caf
Use signer for signing transactions, not constructing them
2019-01-29 18:35:05 -07:00
Greg Fitzgerald
c741a960b9
Generalize Transaction::new to accept anything that implements KeypairUtil
2019-01-29 18:35:05 -07:00
Greg Fitzgerald
33f921235d
Improve message-signing ergonomics
2019-01-26 14:57:22 -07:00
dependabot[bot]
06e3cd3d2a
Bump serde_json from 1.0.36 to 1.0.37
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.36 to 1.0.37.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.36...v1.0.37 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-25 03:34:06 -08:00
Sathish
e0f046b7a5
Optimize Transaction/Instruction serialization with custom routine ( #2515 )
...
* Optimize transaction serialization with custom routine to reduce the serialized size.
* Update serialized_size to accept self as parameter
* Optimize serialize / deserialize operations
2019-01-24 21:14:15 -08:00
Jack May
9abc500269
Fix BPF C tests and run as part of CI ( #2540 )
2019-01-24 12:15:37 -08:00
Jack May
a0bc8b8af3
BPF programs can support up to 5 arguments ( #2528 )
2019-01-23 09:55:08 -08:00
Greg Fitzgerald
d666ebc558
Add tests for vote_program
2019-01-21 18:05:52 -07:00
Tyera Eulberg
637d5c6691
Fix rpc port argument name
2019-01-21 16:25:51 -07:00
dependabot[bot]
b0149a54d8
Bump serde_derive from 1.0.84 to 1.0.85
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.84 to 1.0.85.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.84...v1.0.85 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-21 11:25:42 -07:00
Stephen Akridge
abbb037888
Implement storage contract logic
2019-01-21 08:36:49 -08:00
dependabot[bot]
b748942d6a
Bump serde from 1.0.84 to 1.0.85
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.84 to 1.0.85.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.84...v1.0.85 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-21 08:25:24 -07:00
Stephen Akridge
1fd7bd7ede
Storage fixes
...
* replicators generate their sample values
* fixes to replicator block height logic
2019-01-18 13:05:35 -08:00
Mark
72c7139d8c
Allow chained BudgetExpr via indirection ( #2461 )
...
* Allow chained BudgetExpr via indirection
Change `And`, `Or`, and `After` expressions to contain
`Box<BudgetExpr>`s instead of directly holding payments
* run cargo fmt
2019-01-16 18:51:50 -06:00
dependabot[bot]
590b88f718
Bump serde_json from 1.0.35 to 1.0.36
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.35 to 1.0.36.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.35...v1.0.36 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-16 15:57:01 -07:00
Tyera Eulberg
fec47a09a9
Add test from drone business logic; remove flaky, mis-placed integration test
2019-01-15 12:53:09 -07:00
Jack May
ef8e5b40b6
Use dep files and restore tests
2019-01-14 23:41:07 -08:00