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
Greg Fitzgerald
9c9c63572b
cargo fmt
...
rustfmt was updated with 1.26.1
2018-05-29 20:33:45 -07:00
Greg Fitzgerald
6c0c6de1d0
Better error names
2018-05-29 20:33:45 -07:00
Greg Fitzgerald
b57aecc24c
Better error if Bank doesn't recognize tx last_id
2018-05-29 20:33:45 -07:00
Greg Fitzgerald
290dde60a0
Test invalid tokens and fees
2018-05-29 20:33:45 -07:00
Greg Fitzgerald
ac0791826a
plan.rs -> payment_plan.rs
2018-05-29 18:09:03 -06:00
Greg Fitzgerald
d2622b7798
Allow for addtional smart contract languages
...
Fixes #159
2018-05-29 18:09:03 -06:00
Greg Fitzgerald
f82cbf3a27
Move Budget EDSL into its own module
2018-05-29 18:09:03 -06:00
Greg Fitzgerald
aa7e3df8d6
Plan -> Budget
...
Budget is now an EDSL. PaymentPlan is the interface to it.
2018-05-29 18:09:03 -06:00
Greg Fitzgerald
ad00d7bd9c
Move plan methods to a trait
2018-05-29 18:09:03 -06:00
Greg Fitzgerald
cf5671d058
tr -> tx
...
Missed a few.
2018-05-29 10:38:58 -06:00
Greg Fitzgerald
2570bba6b1
Make apply_payment a method
...
History: the function was pulled out of Bank when each field wasn't
wrapped in a RwLock, and that locking 'balances' meant to lock
everything in the bank. Now that the RwLocks are here to stay,
we can make it a method again.
2018-05-29 10:38:58 -06:00
Greg Fitzgerald
71cb7d5c97
Better names
2018-05-29 10:38:58 -06:00
Greg Fitzgerald
0df6541d5e
Fewer public functions
2018-05-29 10:38:58 -06:00
Greg Fitzgerald
52145caf7e
Cleanup: make 'verified' qualifier implicit
...
History: Qualifying the method names with 'verified' was done to
distinguish them from methods that first did signature verification.
After we moved all signature verication to SigVerifyStage, we removed
those methods from Bank, leaving only the 'verified' ones.
This patch removes the word 'verified' from all method names, since
it is now implied by any code running after SigVerifyStage.
2018-05-29 10:38:58 -06:00
Greg Fitzgerald
8d26be8b89
Run benchmarks in nightly
...
And name functions the same way as test functions
2018-05-26 00:36:50 -06:00
Greg Fitzgerald
aaeb5ba52f
tr -> tx
2018-05-25 16:47:21 -06:00
Greg Fitzgerald
9f5a3d6064
events -> transactions
2018-05-25 16:47:21 -06:00
Greg Fitzgerald
4cdf873f98
Delete event.rs
2018-05-25 16:47:21 -06:00
Anatoly Yakovenko
c2c80232e3
logs
2018-05-24 17:40:33 -06:00
Greg Fitzgerald
e12e154877
Boot Event timestamp/singature constructors
2018-05-24 10:10:41 -06:00
Greg Fitzgerald
cc907ba69d
Add Instruction type
2018-05-24 10:10:41 -06:00
Greg Fitzgerald
f154c8c490
Add data to errors to ease debugging
2018-05-23 12:50:23 -06:00
Greg Fitzgerald
2e059f8504
Rename TransactionData to Contract
...
No longer a single place to get all the data that was signed.
2018-05-22 17:00:40 -06:00
Greg Fitzgerald
207b6686d1
Hoist last_id
...
First step in unifying Witness processing and Transaction processing
2018-05-22 17:00:40 -06:00
Robert Kelly
d42d024d9c
minor changes
2018-05-15 10:23:11 -04:00
Anatoly Yakovenko
2d635386af
rebased
2018-05-14 15:20:41 -07:00
Greg Fitzgerald
7736b9cac6
Boot Alice and Bob from the unit tests
2018-05-14 15:39:34 -06:00
Greg Fitzgerald
d2dd005a59
accountant -> bank
2018-05-14 15:33:11 -06:00