Commit Graph

415 Commits

Author SHA1 Message Date
Sergi Delgado Segura
42a957f555 Merge branch 'master' into chainmonitor 2020-01-15 11:38:32 +01:00
Sergi Delgado Segura
0519ea9ca8 Merge pull request #79 from orbitalturtle/isolate-config
Isolate pisa config options
2020-01-15 10:25:51 +01:00
Sergi Delgado Segura
6bf2cb5379 Merge branch 'master' into isolate-config 2020-01-15 10:15:48 +01:00
Sergi Delgado Segura
36eaa93dc4 Merge pull request #65 from orbitalturtle/pisa-cli-modularity
Refactor add_appointment cli code
2020-01-15 10:14:49 +01:00
Turtle
bd41c8b862 Add unit tests for remaining cli functions 2020-01-15 03:35:34 -05:00
Turtle
3775b78500 Fix filename typo in cli README 2020-01-15 03:35:34 -05:00
Turtle
39208e4b14 Test new functions split off in pisa_cli 2020-01-15 03:35:34 -05:00
Turtle
40d7ca1912 Refactor add_appointment cli code 2020-01-15 03:35:31 -05:00
Turtle
1188ddda17 Add load_config function 2020-01-15 03:10:21 -05:00
Turtle
e22bd89534 Test load_config functions 2020-01-15 03:10:13 -05:00
Sergi Delgado Segura
ae772bf91b Adds missing tests
Tests that given a block hash and the two monitor threads running, the hash is only notified to the subscribers once (by the first thread that notices it)
2020-01-13 15:48:52 +01:00
Sergi Delgado Segura
eb71ab8fc4 Adds missing args on docs and adds polling_delta parm to monitor_chain 2020-01-13 15:42:27 +01:00
Sergi Delgado Segura
1a26d7d6a3 Fixes typos based on @orbitalturtle comments 2020-01-13 15:31:54 +01:00
Turtle
c22bf220f0 Move config options used by inspector to the constructor 2020-01-13 02:23:07 -05:00
Turtle
7aa74d5953 Move config options used by watcher and responder to the constructor 2020-01-13 02:23:02 -05:00
Sergi Delgado Segura
49657ccbfc Merge pull request #81 from sr-gi/chainmaester
Adds basic logic to detect forks while offline
2020-01-08 09:55:39 +01:00
Sergi Delgado Segura
dfc90cd930 Sets ChainMonitor terminate on shutdown and removes unused imports 2020-01-07 16:31:17 +01:00
Sergi Delgado Segura
40e656dcd3 ChainMonitor unit tests 2020-01-07 16:09:49 +01:00
Sergi Delgado Segura
31b4c2e993 Bug fix and moves update condition to update_state
The tip update was performed in the wrong order, so tips never made it to last_tips
2020-01-07 16:08:43 +01:00
Sergi Delgado Segura
f10c3c46eb Updates tests to use ChainMonitor as global fixture 2020-01-07 16:08:10 +01:00
Sergi Delgado Segura
9bb69d1f5a Uses conf parameters instead of hardcoded values for the ChainMonitor and includes docstrings 2020-01-06 13:33:17 +01:00
Sergi Delgado Segura
b2272aa4ea Adds ChainMonitor config parameters 2020-01-06 13:32:25 +01:00
Sergi Delgado Segura
e5514cefce Updates old docs/comments regarding zmq 2020-01-06 12:27:02 +01:00
Sergi Delgado Segura
069e15fdba Updates current tests to work with chain_monitor instead of zmq_sub 2020-01-03 13:36:52 +01:00
Sergi Delgado Segura
3889d30e31 Minor refactor
Runs chain_monitor as daemon so it terminates along with the main thread. Reorders attack_responder so it is in the same stanza as attack_watcher
2020-01-03 13:35:52 +01:00
Sergi Delgado Segura
c594018dce Bug fix: Properly initializes Responder 2020-01-03 11:37:26 +01:00
Sergi Delgado Segura
8fab59975f Adds basic ChainMonitor to the system
ChainMonitor is the actor in charge of checking new blocks. It improves from the previous zmq_subscriber by also doing polling and, therefore, making sure that no blocks are missed.

Documentation and tests are still required. Partially covers #31
2020-01-02 16:15:27 +01:00
Sergi Delgado Segura
747f4bb888 Simplifies get_missed_blocks
get_missed_blocks is always called after calling find_last_common_ancestor, so the later was called twice returning the same value as the input. It does not seem to be any reason for it atm.
2020-01-02 12:05:07 +01:00
Sergi Delgado Segura
a5e9f1b874 Removes unused imports 2020-01-02 11:23:34 +01:00
Sergi Delgado Segura
3ff10ea1bf Makes all BLockProcessor methods static 2020-01-02 11:21:01 +01:00
Sergi Delgado Segura
5ce5936fc0 Fixes bootstrap from backed up data 2019-12-27 12:22:07 +01:00
Sergi Delgado Segura
57d5aa4940 Adds missing block processor tests 2019-12-27 11:12:30 +01:00
Sergi Delgado Segura
23078f6c6c Updates circleci with bitcoind_mock 2019-12-23 07:09:04 +01:00
Sergi Delgado Segura
ea681850a8 Adds some ChainMaester functionallity to the BlockProcessor
The ChainMaester functionallity has been split into the new bitcoind mock and the blockprocessor (there's ChainMaester no more 😢)
2019-12-23 06:45:24 +01:00
Sergi Delgado Segura
2b0945f1ba Updates tests with external bitcoind mock 2019-12-23 06:43:54 +01:00
Sergi Delgado Segura
ef92e2bf6f Removes bitcoind_mock from the codebase
It can be now found at https://github.com/sr-gi/bitcoind_mock/
2019-12-22 10:29:28 +01:00
Sergi Delgado Segura
1210061fb3 Merge pull request #78 from sr-gi/verbose-test
Enables stdout for unit tests
2019-12-17 17:24:33 +01:00
Sergi Delgado Segura
fffcb39124 Enables stdout for unit tests
By default pytests does not capture stdout, but it can do with -s. It is nice to have the option to verbose the tests if needed
2019-12-17 17:22:40 +01:00
Sergi Delgado Segura
d4e7e999e1 Sets sim verbose to False for unit tests 2019-12-17 17:21:48 +01:00
Sergi Delgado Segura
b82065120c Adds verbose flag to show/hide block generation on stdout 2019-12-17 17:21:21 +01:00
Sergi Delgado Segura
31fac8de7e Merge pull request #76 from sr-gi/14-passing-params-api
Refactors the API to run using dispatch instead of decorate
2019-12-17 17:10:03 +01:00
Sergi Delgado Segura
531523c534 Refactors the API to run using dispatch instead of decorate
The API was never made an object since I couldn't find a way or working around the Flask decorators.

By using dispatch we can get around the issues in #14 and will be able to create better mocks for the API
2019-12-17 17:04:57 +01:00
Sergi Delgado Segura
6129ae9b25 Merge pull request #75 from sr-gi/68-appointment-encoding
Defines a proper appointment encoding
2019-12-17 16:28:25 +01:00
Sergi Delgado Segura
680de0b7ac Update unit tests to use serialize 2019-12-17 16:22:23 +01:00
Sergi Delgado Segura
5c585a7a02 Refactors code to use appointment from common based on f4a1e34e2f4d75226c7e313b83ff5ae06c8c89ca 2019-12-17 16:22:23 +01:00
Sergi Delgado Segura
a69f1ba28b Moves appointment to common and creates serialize
Appointment serialization used to be part of the cryptographer (signature_format) but it makes more sense to be an appointment method. Therefore cli also need Appointment

Also fixes comments based on reviews
2019-12-17 16:21:54 +01:00
Sergi Delgado Segura
5c01bec89c Merge pull request #73 from sr-gi/fix-encoding
Removes unnecessary encoding when unhexlifying
2019-12-17 11:37:55 +01:00
Sergi Delgado Segura
46a7fa824f Removes unnecessary encoding when unhexlifying
binascii.unhexlify(x) is equal to binascii.unhexlify(x.encode())
2019-12-17 11:35:28 +01:00
Sergi Delgado Segura
af4544b2c0 Merge pull request #72 from sr-gi/logger
Moves Logger to common and improves logs
2019-12-17 10:04:44 +01:00
Sergi Delgado Segura
1184b4648a Fixes logs and removes redundant tailing dots 2019-12-16 19:45:30 +01:00