c0808d01f8
Add tests
2019-04-10 15:51:00 -07:00
7fd5e51168
Make sure bank 0 is votable and correctly designate signer
2019-04-10 15:51:00 -07:00
7b2abf2087
Update count for the right store ( #3683 )
2019-04-09 13:48:13 -07:00
878a842611
Move append_vec bench to the crate with append_vec ( #3650 )
...
* Move append_vec bench to the crate with append_vec
* Use black_box to tell the compiler not to optimize away test data
```
pub fn black_box<T>(dummy: T) -> T {
unsafe {
let ret = std::ptr::read_volatile(&dummy);
std::mem::forget(dummy);
ret
}
}
```
* Revert "Use black_box to tell the compiler not to optimize away test data"
This reverts commit 5610b8ee95
.
* Use black_box to tell the compiler not to optimize away test data
* Create bench directories
2019-04-06 07:18:56 -06:00
d30049b8eb
test for debit of TX fees on full process_transaction() ( #3643 )
...
* fix double debit of TX fees
* add test that fails when removing that line
* put that line back in
* comments
2019-04-05 16:55:58 -07:00
a5b5248a09
move vote_accounts up ( #3647 )
2019-04-05 14:23:00 -07:00
9f046a023e
move transaction_count up ( #3618 )
...
* move transaction_count up
* fixup
2019-04-05 10:42:25 -07:00
46e6911ec1
Add get_signature_status() to SyncClient
...
And move bank::Result to transaction module.
2019-04-05 10:22:05 -07:00
d3844ef32a
Add AsyncClient
2019-04-05 10:22:05 -07:00
1598a02a7a
Wrap all client errors with TransportError
2019-04-04 12:00:19 -06:00
167f5bdc58
Add get_balance() and get_account_data() to SyncClient
...
Migrate tests to use them.
2019-04-04 12:00:19 -06:00
5cd7bccdf3
Add SyncClient and use from BankClient
2019-04-04 12:00:19 -06:00
35298e01a8
Remove Instruction wrapper structs and name functions after enum fields
2019-04-03 13:34:27 -07:00
867f6f107b
Rename SystemInstruction::Move to SystemInstruction::Transfer
2019-04-03 08:35:57 -06:00
43bb813cbe
Rename 'new_account' to 'new_user_account'
...
And 'new_program_account' to 'new_account'
2019-04-02 21:24:42 -06:00
4c0bc1fd88
Add program_ids() methods
...
Added CompiledInstruction::program_id() so that we don't need to pass
around instruction indexes just for Message::program_id().
Also added Message.program_ids() that returns a slice so that we
can move those pubkeys into Message::account_keys.
2019-04-02 19:00:35 -06:00
20189c5d45
Bump hashbrown to 0.2.0
2019-04-02 16:37:21 -06:00
a0041cec97
Rename Runtime to MessageProcessor
2019-04-02 12:49:26 -06:00
fa1c1e3734
Rename native programs to native instruction processors
2019-04-02 10:36:19 -06:00
947cdd8748
Rename system_program to system_instrution_processor
2019-04-02 10:36:19 -06:00
0a9f063d3e
Rename native_program.rs to instruction_processor_utils.rs
...
Prefer the term "instruction processor" over "program". Reserve
the term "native" for the loader and shared object it loads.
Compiling an instruction processor to BPF shouldn't imply changing
to a non-native entrypoint.
2019-04-02 10:36:19 -06:00
d228b6467c
Implement finalizer so that all locked accounts are dropped ( #3585 )
...
* Implement finalizer so that all locked accounts are dropped when finalizer goes out of scope
* Add test for tx error with lock conflict
* Fix double unlock from destructor running after a call to unlock
2019-04-02 03:55:42 -07:00
3152090a66
update with review comments
2019-04-01 15:54:53 -06:00
9a0f9b910e
add bench tests for squash operations
2019-04-01 15:54:53 -06:00
f853c39169
remove unused member
2019-04-01 15:54:53 -06:00
75ad1305c0
Cache vote accounts and optimize squash
2019-04-01 15:54:53 -06:00
fcef54d062
Add a constructor to generate random pubkeys
2019-03-31 16:23:18 -06:00
8660c3581e
Add squashing metrics ( #3573 )
2019-03-29 21:21:59 -07:00
5646daa820
Delete lots of fee parameters
...
So many zeros!
2019-03-29 19:21:51 -06:00
7896e8288d
Replace Transaction::fee with a FeeCalculator
2019-03-29 19:21:51 -06:00
3b516c0710
Fix build
2019-03-29 14:56:29 -06:00
8e04fadb05
Cleanup magic numbers
...
Rename `num_signatures` to `num_required_signatures` to
disambiguate it from `tx.signatures.len()`.
2019-03-29 13:03:29 -07:00
31f8b6d352
Integrate Message into Transaction
2019-03-29 13:03:29 -07:00
10239c3b3c
Replace recursive status cache with a single global fast status cache ( #3541 )
...
Fast Status Cache
2019-03-29 10:03:55 -07:00
0482f153d0
Lower a bunch of debug
...
Can't afford to be printing on every transaction error, it will slow
the system down.
2019-03-28 12:24:47 -07:00
92e1c4c531
Report which account is in use ( #3539 )
2019-03-28 08:17:49 -07:00
3fc09fb23f
Remove keypairs from BankClient
...
Bring its interface closer to the other clients.
2019-03-27 09:37:19 -06:00
cecdb7061e
Remove blockhash parameter from Bank::transfer
...
That parameter is an artifact from the Loom days, when I thought
Bank should implement the same interace as ThinClient.
2019-03-27 08:51:10 -06:00
0ac865f08c
Remove BankClient::process_instructions
2019-03-27 08:51:10 -06:00
55115d0eeb
Add process_message() to BankClient
2019-03-27 08:51:10 -06:00
8c69c40834
Make space for a new Transaction::new
2019-03-26 20:06:05 -06:00
ca2ac1e5ea
Remove a mostly unused Transaction constructor
2019-03-26 15:46:58 -07:00
215b07c1a9
remove status_cache.freeze ( #3506 )
2019-03-26 11:56:25 -07:00
df333e8b6e
Move new_move_many to SystemInstruction
2019-03-26 09:22:29 -07:00
573dec63da
Fix runtime benches
2019-03-25 14:32:01 -06:00
b53cbdd9e6
Punt on the Script abstraction
...
Low ROI
2019-03-24 14:52:06 -06:00
acedf4ca5a
Move Instruction into its own module
2019-03-23 20:31:55 -07:00
31b8743052
delay freeze of status_cache until squash ( #3453 )
2019-03-22 22:14:56 -07:00
06b0c98c75
Remove accounts when the fork is removed ( #3384 )
...
* Fix test
* Cleanup accounts when the fork is removed
* Update test to check for deleted accounts
2019-03-21 17:36:10 -07:00
d2415613de
Migrate loader tests to BankClient
2019-03-21 09:19:24 -06:00