25 Commits

Author SHA1 Message Date
Jack May
afb00432d4
Add BankClient support to bench-exchange (#3902) 2019-04-19 13:18:20 -07:00
Greg Fitzgerald
5fb8baed04
Process async BankClient transactions in batches (#3738)
* Process async transactions in batches

This aims to process transactions at least as fast as LocalCluster

* Add benchmark
2019-04-19 07:29:07 -06:00
Greg Fitzgerald
a28c3b0e9a Consume Bank in BankClient
This will allow BankClient to spin up a thread to use the Bank.
It'll also ease the transaction from BankClient to ThinClient since
it won't let you depend on Bank.

Drawback, you the transition from Bank to BankClient will be harder
because the Bank methods are inaccessible.
2019-04-11 12:16:33 -07:00
Jack May
d0f46d6a8a
Cleanup client traits and create super trait (#3728) 2019-04-11 00:25:14 -07:00
Greg Fitzgerald
46e6911ec1 Add get_signature_status() to SyncClient
And move bank::Result to transaction module.
2019-04-05 10:22:05 -07:00
Greg Fitzgerald
d3844ef32a Add AsyncClient 2019-04-05 10:22:05 -07:00
Greg Fitzgerald
1598a02a7a Wrap all client errors with TransportError 2019-04-04 12:00:19 -06:00
Greg Fitzgerald
167f5bdc58 Add get_balance() and get_account_data() to SyncClient
Migrate tests to use them.
2019-04-04 12:00:19 -06:00
Greg Fitzgerald
5cd7bccdf3 Add SyncClient and use from BankClient 2019-04-04 12:00:19 -06:00
Greg Fitzgerald
35298e01a8 Remove Instruction wrapper structs and name functions after enum fields 2019-04-03 13:34:27 -07:00
Greg Fitzgerald
867f6f107b Rename SystemInstruction::Move to SystemInstruction::Transfer 2019-04-03 08:35:57 -06:00
Greg Fitzgerald
fcef54d062 Add a constructor to generate random pubkeys 2019-03-31 16:23:18 -06:00
Greg Fitzgerald
3fc09fb23f Remove keypairs from BankClient
Bring its interface closer to the other clients.
2019-03-27 09:37:19 -06:00
Greg Fitzgerald
0ac865f08c Remove BankClient::process_instructions 2019-03-27 08:51:10 -06:00
Greg Fitzgerald
55115d0eeb Add process_message() to BankClient 2019-03-27 08:51:10 -06:00
Greg Fitzgerald
8c69c40834 Make space for a new Transaction::new 2019-03-26 20:06:05 -06:00
Greg Fitzgerald
b53cbdd9e6 Punt on the Script abstraction
Low ROI
2019-03-24 14:52:06 -06:00
Greg Fitzgerald
acedf4ca5a Move Instruction into its own module 2019-03-23 20:31:55 -07:00
Greg Fitzgerald
94b5835738 Make AccountMeta a traditional struct instead of a tuple struct 2019-03-19 17:22:39 -06:00
Greg Fitzgerald
a4652a9aaf Label tuple with AccountMeta 2019-03-19 17:22:39 -06:00
Greg Fitzgerald
f16f88873d Add multiple signer support to BankClient 2019-03-18 16:07:45 -06:00
Greg Fitzgerald
122c7bc2ef Rename TransactionCompiler to Script and use it to replace the type alias 2019-03-18 08:22:54 -07:00
Greg Fitzgerald
0c0716abfb Move Bank-based tests into unit-tests 2019-03-18 08:22:54 -07:00
Greg Fitzgerald
ae4d14a2ad Introducing Scripts
A sequence of instructions. A client compiles the script and then uses
the compiled script to construction a transaction. Then it adds a
adds a blockhash, signs the transaction, and sends it off for
processing.
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
142eeffe5d Add BankClient to minimize copypasta 2019-03-15 09:06:54 -06:00