Commit Graph

1006 Commits

Author SHA1 Message Date
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