anatoly yakovenko
52f6c33ff9
Make sure banking stage is recording with the same bank that it read ( #3447 )
...
* make sure banking stage is recording with the same bank that it read with
2019-03-22 14:17:39 -07:00
Sathish
06b0c98c75
Remove accounts when the fork is removed ( #3384 )
...
* Fix test
* Cleanup accounts when the fork is removed
* Update test to check for deleted accounts
2019-03-21 17:36:10 -07:00
Greg Fitzgerald
d0761f57e8
Add _program suffix to directories of crates with _program suffix
2019-03-21 16:24:06 -06:00
Stephen Akridge
412ebfcaf2
ReplayStage::new is too long
...
break into more functions
2019-03-21 14:08:11 -07:00
Greg Fitzgerald
07d55d0092
Downgrade 'No next leader found' to warning
2019-03-21 11:18:49 -06:00
anatoly yakovenko
148e08a8a5
Enable cluster tests ( #3372 )
...
* Cluster tests
* stable!
* fixup! stable!
* fixup! fixup! stable!
* fixup! fixup! fixup! stable!
* fixup! fixup! fixup! fixup! stable!
* fixed space
* add getNumBlocksSinceSignatureConfirmation entry for the json rpc docs
* Check in upcoming epochs for potential leadership slots in next_leader_slot()
2019-03-21 07:43:21 -07:00
Pankaj Garg
7c8a4bf6a4
use ticks per slot to check if the current tick is in the leader slot
2019-03-20 16:55:01 -07:00
Pankaj Garg
71314d79a7
address review comments
2019-03-20 16:55:01 -07:00
Pankaj Garg
d7ff6645a9
change pubkey to ref
2019-03-20 16:55:01 -07:00
Pankaj Garg
1824e09d0a
find next leader slot before resetting working bank in Poh recorder
2019-03-20 16:55:01 -07:00
Pankaj Garg
205907d3d7
Check if poh recorder has over stepped the leader slot
2019-03-20 16:55:01 -07:00
Stephen Akridge
4fb0782892
Rename blocktree SlotMeta::is_rooted to is_connected
...
is_rooted is now is_connected and (still) indicates the set of connected
completed slots. 'rooted' slot terminology is used for a different
meaning in bank_forks and replay_stage.
2019-03-20 14:43:39 -07:00
Stephen Akridge
2694654a98
Change fixed 8050 port to one from bind_in_range.
2019-03-20 14:17:21 -07:00
Stephen Akridge
4126461f87
Fix dupe port on cluster_info
...
and remove unintended grow file
2019-03-20 14:17:21 -07:00
Rob Walker
df9fd2bc0b
stop copying Blooms ( #3379 )
...
* stop copying Blooms
* fixup
* clippy
2019-03-20 11:06:39 -07:00
Michael Vines
0dc364c17a
Relocate transaction reference verification to join the other validity checks
2019-03-20 07:46:01 -07:00
Sagar Dhawan
61f950a60c
Sign Gossip Vote Messages
2019-03-19 19:56:17 -07:00
Anatoly Yakovenko
61af87972e
allow empty ancestors
2019-03-19 17:51:01 -07:00
carllin
fe9e771b9b
Clear progress map on squash ( #3377 )
2019-03-19 17:30:36 -07:00
Anatoly Yakovenko
7246d72f03
fix is_locked_out logic
2019-03-19 16:21:46 -07:00
Stephen Akridge
682b1b89b3
Adjust for vector of entries in blobs.
2019-03-19 13:49:48 -07:00
Stephen Akridge
f1802e592a
Review comments: node creation functions for replicators
...
And rework download loop.
2019-03-19 13:49:48 -07:00
Stephen Akridge
ee58c1f960
Add test for replicator ledger download
...
Add an interface to query the storage slot a
replicator is holding on storage_addr port.
Fix logic to poll blocktree for all slots
replicated being filled.
Add test logic to ask replicator what slot it
is replicating and then download an entry in
the slot.
2019-03-19 13:49:48 -07:00
Stephen Akridge
07f4dd385d
Cleanup replicator sockets
...
Add optional UdpSocket for storage interface.
Add new_localhost_replicator to create a new replicator local node.
2019-03-19 13:49:48 -07:00
Pankaj Garg
1be7ee51be
Fix potential crash in banking stage
2019-03-19 12:06:42 -07:00
Pankaj Garg
56fcc93ef5
Schedule node for consecutive slots as leader ( #3353 )
...
* Also tweak epoch and slot duration
* new test for leader schedule
2019-03-19 06:36:45 -07:00
Rob Walker
c70412d7bb
move core tests to core ( #3355 )
...
* move core tests to core
* remove window
* fix up flaky tests
* test_entryfication needs a singly-threaded banking_stage
* move core benches to core
* remove unnecessary dependencies
* remove core as a member for now, test it like runtime
* stop running tests twice
* remove duplicate runs of tests in perf
2019-03-18 22:08:21 -07:00
Carl
5e21268ca0
PR comments
2019-03-18 20:46:11 -07:00
Carl
b38e3bef01
Modify bank_forks to support squashing/filtering new root and also don't remove parents from bank_forks when inserting, otherwise we lose potential fork points when querying blocktree for child slots
2019-03-18 20:46:11 -07:00
Stephen Akridge
ef111dcbe1
Decendent is not a word
2019-03-18 15:58:27 -07:00
anatoly yakovenko
211c81f2a2
bank fork rpc ( #3351 )
2019-03-18 14:18:43 -07:00
Pankaj Garg
efc39ffdde
Report how many grace ticks were afforded to previous leader ( #3350 )
2019-03-18 13:24:07 -07:00
anatoly yakovenko
61a4b998fa
Implement locktower voting ( #3251 )
...
* locktower components and tests
* integrate locktower into replay stage
* track locktower duration
* make sure threshold is checked after simulating the vote
* check vote lockouts using the VoteState program
* duplicate vote test
* epoch stakes
* disable impossible to verify tests
2019-03-18 12:12:33 -07:00
Stephen Akridge
cedff2fca1
Cleanup sockets test
2019-03-18 11:56:18 -07:00
Greg Fitzgerald
8d032aba9d
Merge InstructionError and ProgramError
...
From the user's perspective, it's just an instruction error.
For program-specific errors, we still have
InstructionError::CustomError.
2019-03-18 10:39:20 -06:00
carllin
60437a8dcb
Multiple entries per blob ( #3337 )
...
* Pack multiple entries into blob
* fix tests
* Add test for deserializing multi-entry blobs in blocktree
* more test fixes
2019-03-17 18:48:23 -07:00
Michael Vines
c498775a3d
Move generic rpc_client functions from wallet/ to client/
2019-03-17 01:34:58 -07:00
Michael Vines
9632136cda
Clean up stray retry_get_balance() function
2019-03-16 23:56:35 -07:00
Michael Vines
73ceaf07b1
client/: move RpcClient from rpc_request.rs to rpc_client.rs
2019-03-16 23:27:23 -07:00
Michael Vines
7b314f47f7
Factor RPC request mechanism out of RpcClient into *RpcClientRequest
2019-03-16 23:27:23 -07:00
Michael Vines
23337e08eb
client/: Merge client.rs into thin_client.rs
2019-03-16 22:48:26 -07:00
Michael Vines
e2c24481e4
wallet/ now only dev-depends on core/
2019-03-16 21:40:39 -07:00
Michael Vines
ad252fe4c5
Remove unnecessary Option from get_account_data
2019-03-16 11:32:01 -07:00
Michael Vines
4b04bc8612
Move thin_client RPC requests into rpc_request; de-mut thin_client
2019-03-16 11:32:01 -07:00
Michael Vines
bcc34b906c
Relieve the caller of having to care about the rpc request id
2019-03-16 11:32:01 -07:00
Michael Vines
c2b1010f18
Clarify url vs addr
2019-03-16 11:32:01 -07:00
Michael Vines
ad12b0efce
Bump kvstore version to 0.13.0 to match all other solana crates ( #3334 )
2019-03-15 19:05:24 -05:00
Sagar Dhawan
00f005af25
Fix leader rotation counter
2019-03-15 17:01:18 -07:00
Mark
656fb173f9
Extract kvstore into separate crate ( #3327 )
...
* extract kvstore into new crate
* add kvstore crate to CI publishing list
2019-03-15 18:42:47 -05:00
Pankaj Garg
971da7325d
Reduce log level for periodic debug messages
2019-03-15 15:41:26 -07:00
Greg Fitzgerald
e091aa87ea
More precise constructor names
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
968022a1b0
Instruction name swap
...
* Instruction -> GenericInstruction
* Instruction<u8, u8> -> CompiledInstruction
* Instruction<Pubkey, (Pubkey, bool)> -> Instruction
2019-03-15 14:46:44 -06:00
Pankaj Garg
66fb1bbb2e
Give last leader some grace ticks to catch up ( #3299 )
...
* Wait for last leader for some ticks
* New tests and fixed existing tests
2019-03-15 13:22:16 -07:00
Mark
fa3e1fa7c9
Add error correction to write-log ( #3323 )
2019-03-15 15:04:34 -05:00
carllin
36763d0802
Cleanup entry.rs packing code ( #3303 )
2019-03-15 12:48:32 -07:00
Sagar Dhawan
be5f800390
Use the Mining Proof's Signature as storage keys ( #3321 )
2019-03-15 11:44:10 -07:00
Mark
ca69b7b75b
Add CRC Reader and Writer I/O wrappers ( #3322 )
...
* add CRC Reader and Writer I/O wrappers
* typo fix and variable rename
2019-03-15 13:17:49 -05:00
Mark
a15927f8d0
make KvStore Send+Sync ( #3317 )
2019-03-15 13:01:34 -05:00
Mark
be1511a7ff
delete accidental file ( #3316 )
2019-03-15 11:28:08 -05:00
Greg Fitzgerald
d72cac6e97
Fix chacha test
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
7b4568b9bf
Migrate to sign_checked()
2019-03-15 09:06:54 -06:00
Michael Vines
57606c6bf8
Bump log level for better CI logs
2019-03-15 07:48:23 -07:00
Rob Walker
5741400713
add support for finding the next slot a node will be leader ( #3298 )
2019-03-14 16:06:56 -07:00
Rob Walker
9f02a8d3d0
remove ticks_per_slot from blocktree ( #3297 )
2019-03-14 15:18:37 -07:00
Stephen Akridge
c208f4dbb5
Add option of replicators to local cluster test
2019-03-14 13:55:11 -07:00
Greg Fitzgerald
c1eec0290e
Rename userdata to data ( #3282 )
...
* Rename userdata to data
Instead of saying "userdata", which is ambiguous and imprecise,
say "instruction data" or "account data".
Also, add `ProgramError::InvalidInstructionData`
Fixes #2761
2019-03-14 10:48:27 -06:00
dependabot[bot]
77a7ffe543
Bump hex-literal from 0.1.3 to 0.1.4
...
Bumps [hex-literal](https://github.com/RustCrypto/utils ) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/RustCrypto/utils/releases )
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.1.3...hex-literal-v0.1.4 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-14 07:21:32 -06:00
Greg Fitzgerald
e58220282a
Move TransactionError into the SDK
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
4ca4038d54
Rename BankError to TransactionError
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
6fd0d4dcf5
Boot error piggybacking on BankError
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
6a89c68a1d
Add utility function to help get System error out of ProgramError
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
c14cce4c85
Add InstructionError for runtime instruction errors
2019-03-13 21:26:57 -06:00
Stephen Akridge
959961b596
Modified test
2019-03-13 18:18:27 -07:00
Pankaj Garg
6f76c2da6c
Fix confirmation test
2019-03-13 17:50:53 -07:00
carllin
af03df38b9
Don't vote for empty leader transmissions ( #3248 )
...
* Don't vote for empty leader transmissions
* Add is_delta flag to bank to detect empty leader transmissions
* Plumb new is_votable flag through replay stage
* Fix PohRecorder tests
* Change is_delta to AtomicBool to avoid making Bank references mutable
* Reset start slot in poh_recorder when working bank is cleared, so that connsecutive TPU's will start from the correct place
* Use proper max tick height calculation
* Test for not voting on empty transmission
* tests for is_votable
2019-03-13 14:06:12 -07:00
Stephen Akridge
64de639817
Fixes to replicator
...
Move functionality into more functions.
Break down the current test and just test creation/joining the network.
2019-03-13 10:15:03 -07:00
Stephen Akridge
ec9e13d1f4
Add repair slot range
...
Use default impl RepairSlotRange
2019-03-13 10:15:03 -07:00
Tyera Eulberg
1d689e84f1
Move and rename cluster_client
2019-03-12 22:05:38 -06:00
Tyera Eulberg
12fde77ecd
Update crate references
2019-03-12 22:05:38 -06:00
carllin
cb3eeace56
Replay Stage start_leader() can use wrong parent fork() ( #3238 )
...
* Make sure start_leader starts on the last voted block, not necessarily the biggest indexed bank in frozen_slots()
* Fix tvu test
2019-03-12 17:42:53 -07:00
Rob Walker
06cb266cfe
remove unused code ( #3252 )
2019-03-12 16:46:41 -07:00
Michael Vines
abdd4f371b
Adjust readme path
2019-03-12 14:02:51 -07:00
carllin
13adee332e
Add retry transfer logic to kill_entry_and_spend_and_verify_rest to account for dead forks ( #3239 )
2019-03-12 13:48:02 -07:00
Michael Vines
1ee43a7633
Remove non-essential programs from runtime/
2019-03-12 15:11:59 -05:00
Sagar Dhawan
7b35114c0f
Filter vote accounts with no delegate from being selected in Rotation ( #3224 )
2019-03-11 17:58:21 -07:00
Pankaj Garg
b418525464
Update current leader information in metrics and dashboard
2019-03-11 17:43:59 -07:00
Michael Vines
6899bd7099
0.13.0
2019-03-11 16:21:19 -07:00
Mark
56b0ba2601
KvStore - A data-store to support BlockTree ( #2897 )
...
* Mostly implement key-value store and add integration points
Essential key-value store functionality is implemented, needs more work to be integrated, tested, and activated.
Behind the `kvstore` feature.
2019-03-11 17:53:14 -05:00
Michael Vines
3073ebb20d
reduce pub
2019-03-11 17:09:21 -05:00
Stephen Akridge
f8e07ef5a3
banking_stage_entryfication fails when run as cargo test
...
Add some retry for getting entries from the channel.
2019-03-11 14:13:32 -07:00
Carl
a4b6d181a2
rename forwarder ports to tpu_via_blobs
2019-03-11 14:07:17 -07:00
Pankaj Garg
0b8c5d807d
code cleanup
2019-03-11 14:07:17 -07:00
Pankaj Garg
e201136eee
more review comments
2019-03-11 14:07:17 -07:00
Pankaj Garg
55f660d5f9
address review comments
2019-03-11 14:07:17 -07:00
Carl
a4acc631ee
Refactor packing packets into blobs into separate packets_to_blob() function in packets.rs
2019-03-11 14:07:17 -07:00
Carl
3ddf4b6c24
PR fixes
2019-03-11 14:07:17 -07:00
Carl
ccd1173a83
Add local cluster test for forwarding
2019-03-11 14:07:17 -07:00
Carl
cd1a9faacd
Batch packet forwarding in banking stage
2019-03-11 14:07:17 -07:00
Carl
b60b8ec5ae
Add logic for deserialzing packets embedded in blobs
2019-03-11 14:07:17 -07:00
Carl
536c8accf8
Add separate sockets for tpu forwarder and run different protocol for those sockets
2019-03-11 14:07:17 -07:00