Tyera Eulberg
44150b2e85
Remove unused crate from wallet CLI
2018-07-04 16:39:26 -06:00
Tyera Eulberg
8ec2fe15f3
Port solana-drone to clap crate for CLI arguments
2018-07-04 16:39:26 -06:00
Greg Fitzgerald
4b07772e22
Add helper functions for reading entries
...
```rust
let entries = entry_writer::read_entries_from_str(entries_str).unwrap();
let entries_len = entries.len();
assert_eq!(entries_len, 7);
let bank = Bank::default();
bank.process_ledger(entries).unwrap();
assert_eq!(bank.transaction_count(), entries_len - 2);
```
2018-07-03 19:32:01 -06:00
Anatoly Yakovenko
e771d36278
Better logs
2018-07-03 18:10:16 -06:00
Rob Walker
800c2dd370
make the leader append to the ledger file
2018-07-03 17:17:52 -06:00
Greg Fitzgerald
f38842822f
Cleanup code duplication
2018-07-03 16:33:36 -06:00
Greg Fitzgerald
88a6fb86bf
Clean up read_entries() and its usage
2018-07-03 16:33:36 -06:00
Greg Fitzgerald
f6fe998ed4
Revert 1dd8c5ed36
...
Per @sakridge, this might cause a performance degradation. Need
to benchmark it.
2018-07-03 14:00:53 -06:00
Anatoly Yakovenko
16337d7c1e
unstable test
2018-07-03 14:00:39 -06:00
Anatoly Yakovenko
fa70b3bf70
split out files, fixed a bug @garious!
2018-07-03 14:00:39 -06:00
Anatoly Yakovenko
3a90f138b2
dynamit network test
...
* cleaned up fullnode api
* added debug_id to ReplicatedData and crdt for debugging
2018-07-03 14:00:39 -06:00
Michael Vines
033f6dcbcb
Demote 'sorted leader' log
2018-07-03 08:24:28 -07:00
Greg Fitzgerald
5d8b2f899a
Fix wallet doc
2018-07-02 19:21:03 -07: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
Michael Vines
2cbfe41422
Abort nicer on drone connection failure
2018-07-02 15:57:30 -07:00
Michael Vines
c72dced8fa
Report error when an invalid confirmation signature or public key is provided
2018-07-02 15:57:30 -07:00
Anatoly Yakovenko
6feed5fd56
rebased
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
b8fe5ae076
rename server to fullnode
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
7e657d65f3
merged f2ab08c65e
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
a166bb816e
wtfr
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
2952027d04
wtfr
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
430d9d9314
fixup!
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
fa247196c0
fullnode lib
2018-07-02 16:34:49 -06:00
Greg Fitzgerald
5d17c2b58f
Return output receivers from each stage
...
Reaching into the stages' structs for their receivers is, in hindsight,
more awkward than returning multiple values from constructors. By
returning the receiver, the caller can name the receiver whatever it
wants (as you would with any return value), and doesn't need to
reach into the struct for the field (which is super awkward in
combination with move semantics).
2018-07-02 16:18:32 -06:00
Michael Vines
3e0e09555a
Undo UPnP UDP port binding
2018-07-02 14:38:01 -07:00
Michael Vines
67e0100866
Bind to 0.0.0.0
2018-07-02 14:38:01 -07:00
Michael Vines
f2ab08c65e
Reuse request UDP port for responses
2018-07-02 14:38:01 -07:00
Greg Fitzgerald
04a93050e7
No need to share a write lock across single-threaded methods
2018-07-02 15:25:16 -06:00
Michael Vines
03401041db
Correct signature argument name
2018-07-02 11:24:13 -07:00
Michael Vines
ae29e2085f
Init env_logger
2018-07-02 10:59:09 -07:00
Michael Vines
ea5663c0da
Demote log
2018-07-02 10:28:43 -07: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
669164bada
Boot EntryWriter's Mutex
...
Finally!
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
4f3a291391
Move the writer into EntryWriter
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
56e37ad2f4
Limit sticky mutex to WriteStage
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
17de79a83a
Remove dead code
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
09e9139855
Move channel code to write stage
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
76fc5822c9
Send Vec<Entry> between stages instead of Entry
...
Might see a performance boost here.
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
c767a854ed
Remove useless Arc
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
b60802ddff
Refactor such that genesis can use entry_writer
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
1c35d59f26
Receive entries first, then write
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
adcaf715c6
Cleanup write_entries
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
1f9494221b
Make space for a write_entry() that only writes entries
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
466d6f76b9
Don't hide error in write_entry()
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
b05e6ce3db
Cleanup solana-genesis
2018-07-01 11:35:32 -07:00
Michael Vines
450f271cf7
Move public IP address detection out of bash
2018-06-29 21:12:05 -07:00