Greg Fitzgerald
bcc247f25f
Clarify code comment
2018-07-20 12:31:23 -04:00
anatoly yakovenko
09f2d273c5
less intrusive counters ( #655 )
...
* less intrusive counters
* fixed arg
* tests
* comments
2018-07-16 18:33:50 -07:00
Anatoly Yakovenko
4631af5011
counters for vote not found
2018-07-15 20:31:23 -06:00
Greg Fitzgerald
73ae3c3301
Apply most of clippy's feedback
2018-07-12 09:40:40 -06:00
Rob Walker
705720f086
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
a219e78f00
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
7a41868173
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
e16acec901
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
de44d7475e
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
c2dd009e0b
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
5a8da75d06
optimize process_ledger()
2018-07-11 10:37:47 -07:00
Greg Fitzgerald
dfa05a8742
Move bank benchmark outside src
...
This will make it available to third party benchmarking tools.
2018-07-10 19:38:29 -06:00
Anatoly Yakovenko
be2bf69c93
initial vote stage
...
wip
voting
wip
move voting into the replicate stage
update
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
update
fixup!
fixup!
fixup!
tpu processing votes in entries before write stage
fixup!
fixup!
txs
make sure validators have an account
fixup!
fixup!
fixup!
exit fullnode correctly
exit on exit not err
try 50
add delay for voting
300
300
startup logs
par start
100
no rayon
retry longer
log leader drop
fix distance
50 nodes
100
handle deserialize error
update
fix broadcast
new table every time
tweaks
table
update
try shuffle table
skip kill
skip add
purge test
fixed tests
rebase 2
fixed tests
fixed rebase
cleanup
ok for blobs to be longer then window
fix init window
60 nodes
2018-07-10 13:32:31 -06:00
Rob Walker
1dd467ed7d
fix issue #568
2018-07-09 22:27:11 -06:00
Rob Walker
ed0a590549
support an initial window filled with last up-to-WINDOW_SIZE blobs
2018-07-09 14:50:14 -07:00
Greg Fitzgerald
71f05cb23e
Vet timestamp source from contract, not leader
...
Per @aeyakovenko, contracts shouldn't trust the network for
timestamps. Instead, pass the verified public key to the
contract and let it decide if that's a public key it wants
to trust the timestamp from.
Fixes #405
2018-07-09 08:40:07 -06:00
Greg Fitzgerald
5f99657523
Remove last_time from bank
...
We had a test for this, but without `Bank::time_sources` (removed in the last
commit), there's no last_time that can be trusted.
2018-07-09 08:40:07 -06:00
Greg Fitzgerald
587ae1bf3c
Remove time_sources from bank
...
I wrote this, but per
https://github.com/solana-labs/solana#code-coverage , if it doesn't
break a test, it's fair game to delete.
2018-07-09 08:40:07 -06:00
Greg Fitzgerald
88a6fb86bf
Clean up read_entries() and its usage
2018-07-03 16:33:36 -06:00
Greg Fitzgerald
f6fe998ed4
Revert 1dd8c5ed362693fa46e4a281e1caaae427a88edc
...
Per @sakridge, this might cause a performance degradation. Need
to benchmark it.
2018-07-03 14:00:53 -06:00
Greg Fitzgerald
0dabdfd48e
Use zero to represent a nonexistent account
...
This also fixes a bug in the thin client where a nonexistent account
would have triggered a panic because we were using `balances[k]` instead
of `balances.get(key)`.
Fixes #534
2018-07-02 18:48:40 -06:00
Greg Fitzgerald
d2bb4dc14a
Purge empty accounts
2018-07-02 18:48:40 -06:00
Greg Fitzgerald
04a93050e7
No need to share a write lock across single-threaded methods
2018-07-02 15:25:16 -06:00
Greg Fitzgerald
4e3526394e
Use IntoInterator to simplify write_entries() usage
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
6806a14a3f
Use Cursor instead of tempfile.
...
Faster and one less dependency.
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
ec7e50b37d
Consolidate ledger serialization code
...
The new read_entries() works, but is overly-contrained. Not
using that function yet, but adding it here in the hopes some
Rust guru will tell us how to get that lifetime constraint out
of there.
Fixes #517
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
e7b7dfebf5
Add tests for process_ledger()
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
c4b62e19f2
Do Proof of History verification before appending entries to the bank
...
Note: replicate_stage is still using `process_entries()` because
changing it to `process_blocks()` causes the `test_replicate` test to
fail.
2018-06-29 15:35:39 -06:00
Greg Fitzgerald
517d08c637
Cleanup
2018-06-29 09:51:13 -07:00
Tyera Eulberg
d354e85a9a
Return bool on signature check
2018-06-29 09:51:13 -07:00
Tyera Eulberg
0112a24179
Add confirm command to wallet, and update RPU to check bank for a signature
2018-06-29 09:51:13 -07:00
Stephen Akridge
d28536d76e
Fix spelling of signature
2018-06-28 16:31:33 -07:00
Rob Walker
2f42658cd4
...
2018-06-27 14:51:18 -07:00
Rob Walker
55ec7f9fe9
add entry.has_more
...
* quick fix for really big genesis
* longer term fix for possible parallel verification over multiple
Blobs/Entries
2018-06-26 13:57:10 -07:00
Rob Walker
1919ec247b
add a clock to validator windows (part 3 of #309 ) ( #448 )
...
* count entries processed by Bank
* initialize windows with initial height of Entries
2018-06-25 15:07:48 -07:00
Greg Fitzgerald
737dc1ddde
Per rustc 1.27.0, we can ensure nested results are used
2018-06-22 22:42:47 -07:00
Stephen Akridge
8be4adfc0a
Rename tr => tx and add back comments
2018-06-22 14:34:46 -07:00
Stephen Akridge
fed4cc3965
Remove commented code/imports
2018-06-22 14:34:46 -07:00
Stephen Akridge
7d1e074683
bump last_ids
2018-06-22 14:34:46 -07:00
Stephen Akridge
00516e50a1
last_ids opt
2018-06-22 14:34:46 -07:00
Stephen Akridge
e83d76fbd9
Remove mutexes
2018-06-22 14:34:46 -07:00
Stephen Akridge
304f152315
rwlock balances table
2018-06-22 14:34:46 -07:00
Greg Fitzgerald
9b202c6e1e
No longer flood log with emtpy entries
2018-06-14 18:04:36 -06:00
Stephen Akridge
87946eafd5
Lower processing transaction message to debug by default
2018-06-14 17:08:11 -06:00
Greg Fitzgerald
ee44e51b30
Better docs for the bank
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
7e788d3a17
No longer need explicit refs in rustc 1.26
2018-06-04 21:43:46 -06:00
Greg Fitzgerald
587ab29e09
Don't register entry ID until after processing its transactions
2018-05-31 12:13:18 -06:00
Greg Fitzgerald
80f07dadc5
Generalize process_entries()
...
And use it in fullnode
2018-05-31 12:13:18 -06:00
Anatoly Yakovenko
e44e81bd17
fmt
2018-05-30 14:04:48 -06:00
Anatoly Yakovenko
f5eedd2d19
fmt
2018-05-30 14:04:48 -06:00