Commit Graph

4674 Commits

Author SHA1 Message Date
c70412d7bb move core tests to core (#3355)
* move core tests to core

* remove window

* fix up flaky tests

* test_entryfication needs a singly-threaded banking_stage

* move core benches to core

* remove unnecessary dependencies

* remove core as a member for now, test it like runtime

* stop running tests twice

* remove duplicate runs of tests in perf
2019-03-18 22:08:21 -07:00
5e21268ca0 PR comments 2019-03-18 20:46:11 -07:00
b38e3bef01 Modify bank_forks to support squashing/filtering new root and also don't remove parents from bank_forks when inserting, otherwise we lose potential fork points when querying blocktree for child slots 2019-03-18 20:46:11 -07:00
89cc82c71b Update cli interface 2019-03-18 18:34:08 -07:00
1d0f6a5d85 Add scripts/install-help.sh 2019-03-18 18:34:08 -07:00
d0292b1cf1 store transaction no longer takes the transaction fee from the config account 2019-03-18 18:34:08 -07:00
15aed9f320 Self 2019-03-18 18:34:08 -07:00
5a67362b8e update passive staking proposal (#3335)
* update passive staking proposal

* fixup
2019-03-18 18:25:29 -07:00
5d73ab299b Clean up locks in KvStore (#3358)
* Lift all shared mutable state into Kvstore

commit is now an AtomicUsize

In-memory table and write-log are now struct members behind individual RwLocks
2019-03-18 19:04:31 -05:00
ef111dcbe1 Decendent is not a word 2019-03-18 15:58:27 -07:00
da7e49c880 Fix broken build
- build breaks if Cuda feature is used
2019-03-18 15:29:51 -07:00
f16f88873d Add multiple signer support to BankClient 2019-03-18 16:07:45 -06:00
211c81f2a2 bank fork rpc (#3351) 2019-03-18 14:18:43 -07:00
efc39ffdde Report how many grace ticks were afforded to previous leader (#3350) 2019-03-18 13:24:07 -07:00
61a4b998fa Implement locktower voting (#3251)
* locktower components and tests

* integrate locktower into replay stage

* track locktower duration

* make sure threshold is checked after simulating the vote

* check vote lockouts using the VoteState program

* duplicate vote test

* epoch stakes

* disable impossible to verify tests
2019-03-18 12:12:33 -07:00
cedff2fca1 Cleanup sockets test 2019-03-18 11:56:18 -07:00
8d032aba9d Merge InstructionError and ProgramError
From the user's perspective, it's just an instruction error.
For program-specific errors, we still have
InstructionError::CustomError.
2019-03-18 10:39:20 -06:00
607b368fe3 Add back in test to check the account program id 2019-03-18 08:22:54 -07:00
a54854abc7 Do Budget verification in BudgetScript 2019-03-18 08:22:54 -07:00
ce6257a069 Delete misplaced unit-tests
These tests were from back in the day when Bank(then-called Accountant)
would call `verify_plan()` on all transactions. Nowadays `verify_plan`
is only useful to the client. At can be used to ensure a transaction
won't trigger runtime errors.
2019-03-18 08:22:54 -07:00
7b28d3a231 Move Budget's verify_plan() into tests
This functionality is supposed to be the the interpreter
2019-03-18 08:22:54 -07:00
ea01ff2aab Add pubkey to BudgetExpr::new_cancelable_future_payment for wallet 2019-03-18 08:22:54 -07:00
3369019943 Add BudgetExpr::new_cancelable_authorized_payment 2019-03-18 08:22:54 -07:00
dbd4176b97 Move script constructors into a separate module 2019-03-18 08:22:54 -07:00
122c7bc2ef Rename TransactionCompiler to Script and use it to replace the type alias 2019-03-18 08:22:54 -07:00
99671472d1 Migrate config tests to Bank 2019-03-18 08:22:54 -07:00
0c0716abfb Move Bank-based tests into unit-tests 2019-03-18 08:22:54 -07:00
c09accb685 Rename StaticEntrypoint to ProcessInstruction 2019-03-18 08:22:54 -07:00
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
55cdbedb52 Allow tests to add instruction processors
Make runtime a private module again.
2019-03-18 08:22:54 -07:00
ee39f31d81 Add Runtime object. Allow any number of static loaders. 2019-03-18 08:22:54 -07:00
70b45de012 Get access to runtime errors in Budget unit-tests 2019-03-18 08:22:54 -07:00
60437a8dcb Multiple entries per blob (#3337)
* Pack multiple entries into blob

* fix tests

* Add test for deserializing multi-entry blobs in blocktree

* more test fixes
2019-03-17 18:48:23 -07:00
a35ebe1186 Avoid RpcRequest 2019-03-17 01:34:58 -07:00
c498775a3d Move generic rpc_client functions from wallet/ to client/ 2019-03-17 01:34:58 -07:00
3ad019a176 Increment stable timeout 2019-03-16 23:56:35 -07:00
9632136cda Clean up stray retry_get_balance() function 2019-03-16 23:56:35 -07:00
42cea7a785 Remove metrics dependency 2019-03-16 23:56:35 -07:00
4c9d852b08 Remove ThinClient::transfer() 2019-03-16 23:56:35 -07:00
9566a5cc68 Organize accounts on a per fork basis (#3336)
* Organize accounts by fork

* Keep track of vote accounts in account info

* update comments
2019-03-16 23:42:32 -07:00
ac03c59b41 client/: get_transaction_count() now returns a Result 2019-03-16 23:27:23 -07:00
73ceaf07b1 client/: move RpcClient from rpc_request.rs to rpc_client.rs 2019-03-16 23:27:23 -07:00
7b314f47f7 Factor RPC request mechanism out of RpcClient into *RpcClientRequest 2019-03-16 23:27:23 -07:00
23337e08eb client/: Merge client.rs into thin_client.rs 2019-03-16 22:48:26 -07:00
97e73311c5 Move mock request_airdrop_transaction into drone/, closer to the real impl 2019-03-16 22:14:09 -07:00
e2c24481e4 wallet/ now only dev-depends on core/ 2019-03-16 21:40:39 -07:00
ad252fe4c5 Remove unnecessary Option from get_account_data 2019-03-16 11:32:01 -07:00
4b04bc8612 Move thin_client RPC requests into rpc_request; de-mut thin_client 2019-03-16 11:32:01 -07:00
bcc34b906c Relieve the caller of having to care about the rpc request id 2019-03-16 11:32:01 -07:00
c2b1010f18 Clarify url vs addr 2019-03-16 11:32:01 -07:00