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
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
94882418ab
Simplify TransactionBuilder
...
A stepping stone to replacing all Transaction constructors with
TransactionBuilders.
2019-03-07 08:11:03 -07:00
01fb76f4bd
add epoch warmup ( #3166 )
...
add epoch warmup
2019-03-06 16:32:23 -08:00
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
53f09c44f3
Rename tokens to lamports in sdk/
2019-03-05 17:28:06 -08:00
885eeec3ed
Boot storage program from the SDK
2019-03-05 07:16:33 -07:00
5e9f802d7d
Boot token_program from the SDK
2019-03-05 07:16:33 -07:00
4f6d7702c5
Add a way to build unsigned transactions
2019-03-04 17:47:46 -07:00
97274030b9
Add test with transaction with no signatures
...
Add checks for no signature
2019-03-04 16:42:52 -08:00
2ec9bc9f05
Revive payments via Budget
2019-03-03 17:29:13 -07:00
9c3e7e40cf
Less pub
2019-03-02 17:36:51 -08:00
a9a7fc56eb
Purge MAX_RECENT_TICK_HASHES
2019-03-02 17:04:42 -08:00
398b78dd97
Delete duplicate file
2019-03-02 16:44:36 -08:00
1edf6c361e
Move Vote program out of the SDK
2019-03-02 16:44:36 -08:00
b99e3eafdd
Fix stakes not being setup correctly
2019-03-02 16:44:36 -08:00
e6486b2824
Move Budget out of the SDK
2019-03-02 16:44:36 -08:00
a94880574b
block_hash => blockhash
2019-03-02 12:13:30 -07:00
0f1582c196
cargo fmt
2019-03-02 12:13:30 -07:00
ea110efabd
Rename AdvertiseStorageLastId to AdvertiseStorageRecentBlockHash
2019-03-02 12:13:30 -07:00
176d5e0d37
Rename Transaction last_id field to recent_block_hash
2019-03-02 12:13:30 -07:00
d5de5bec4f
Register a new last_id once per slot
2019-03-02 08:47:31 -08:00
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
fdc31e99df
Clean up type casts
2019-03-01 13:38:17 -08:00
67b6be66c8
Rename MAX_ENTRY_IDS
2019-03-01 13:38:17 -08:00
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
224b705f8d
Rename genesis_block.last_id() to genesis_block.hash()
2019-03-01 11:48:09 -08:00
20e4edec61
Refactor Vote Program Account setup ( #2992 )
2019-02-28 17:08:45 -08:00
485ccd20e4
Use TransactionBuilder in the Rewards transaction
2019-02-28 10:53:26 -08:00
a79caf7795
Test transaction with a fee
2019-02-28 08:56:55 -07:00
404aa63147
Add TransactionBuilder
2019-02-28 08:56:55 -07:00
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
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
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
2fbdec59cb
Generalize access to staked nodes
2019-02-25 08:49:43 -08:00
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
5541eedcc4
Reject modifications to userdata if not owned by the program
2019-02-22 16:18:10 -07:00
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
f77788447c
Debug for Account
...
Derive prints the full userdata vec which is questionably useful.
2019-02-21 14:57:32 -08:00
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
94f9ac0332
DRY up GenesisBlock
2019-02-19 20:34:58 -08:00
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
d357640fbf
Centralize decentralized timing constants
2019-02-18 19:46:58 -08:00
132c664e18
No longer modify external userdata
2019-02-15 18:36:55 -07:00
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
7f3aca15dd
Add a library for creating Rewards transactions
...
And move out of the SDK
2019-02-15 18:36:55 -07:00
2c5cbaff25
Add unit-test for Rewards program
2019-02-15 18:36:55 -07:00
4e4a1643c4
Boot SystemInstruction::Spawn
2019-02-14 13:26:46 -07:00
4a0009365e
Use Account::owner as loader for executable accounts
2019-02-14 13:26:46 -07:00
48671a1728
Let native_loader own native executable accounts
2019-02-13 20:55:36 -08:00