Commit Graph

115 Commits

Author SHA1 Message Date
Sergi Delgado Segura
e6e577c99e Updates Watcher to use serialize instead of to_json 2019-11-07 15:08:05 +00:00
Sergi Delgado Segura
30159399f0 Adds serialize method
After adding the triggered flag we can not just use to_json to serialize since the two data blobs won't match. This also sets ground towards having a generalized serialization function.
2019-11-07 15:08:05 +00:00
Sergi Delgado Segura
99bda73eff Applies fixes after PR review 2019-11-07 15:07:58 +00:00
Sergi Delgado Segura
76059d569e Adds db section to sample_conf 2019-11-06 17:34:18 +00:00
Sergi Delgado Segura
31afb1373a Integrates the locator map dumping to the Watcher and Cleaner 2019-11-06 17:08:42 +00:00
Sergi Delgado Segura
810f6ec525 Adds methods to store the locator map in the db
In order to use the db for system monitoring we need a way of mapping the locator the the uuids the appointments/jobs are identified in the db. First steps towards #15
2019-11-06 17:08:05 +00:00
Sergi Delgado Segura
4bdadc1836 Loads only non-triggered appointments for the watcher 2019-11-05 19:13:16 +00:00
Sergi Delgado Segura
01c9f8f16c Adds triggered flag to appointment 2019-11-05 19:12:33 +00:00
Sergi Delgado Segura
6644ad5bd1 Random whitespaces removed 2019-11-02 21:18:39 -07:00
Sergi Delgado Segura
276c0ae0b3 Fixes Appointment.from_dict() 2019-11-02 21:16:19 -07:00
Sergi Delgado Segura
ddb3f26d88 Improves build from data persistance
Fetches the missed block data to the watcher and responder queues so they can recover
2019-10-30 12:24:02 -07:00
Sergi Delgado Segura
ccafc1999c Adds a method to get all blocks from the tip to a target 2019-10-30 12:22:57 -07:00
Sergi Delgado Segura
e95961ae6a Adds a method to initialize queues from missed blocks 2019-10-30 12:22:13 -07:00
Sergi Delgado Segura
8ad3ae5f1d Initializes block_queue on init
Building from backed up data may require initializing the block queues of both the watcher and responder with the blocks they've missed.
2019-10-30 12:20:42 -07:00
Sergi Delgado Segura
ddcbc6a6de Fixes log level 2019-10-29 15:20:32 -07:00
Sergi Delgado Segura
bc7c7dc26f Fixes based on DBManager unit tests 2019-10-29 14:52:27 -07:00
Sergi Delgado Segura
d10de4a81d Closed DB on shutdown
Related to #11
2019-10-28 14:49:53 -07:00
Sergi Delgado Segura
15a66751b2 Additional bug-fixing 2019-10-28 14:49:53 -07:00
Sergi Delgado Segura
f61474216c Fixes and tests updates
Updates tests so they run with the db_manager and fixes some bugs introduced in d7d42c9.
2019-10-28 14:49:40 -07:00
Sergi Delgado Segura
ee1f024c51 Basic restore from backed up data
Tests need to be updated to match with some of the new component design
2019-10-28 14:44:31 -07:00
Sergi Delgado Segura
43b749f417 Create the Builder
The Builder's puerpose is to build data structures from the data obtained from the DB for both the Watcher and the Responder
2019-10-28 14:40:44 -07:00
Sergi Delgado Segura
cf61e6e265 Reports the block hash to the responder on adding response
The responder can use the block hash to figure out whether or not he is on sync
2019-10-28 14:40:44 -07:00
Sergi Delgado Segura
5bf96a10c5 Adds method to compute distance from given block to chain tip 2019-10-28 14:40:44 -07:00
Sergi Delgado Segura
162de92026 Adds class method to create from dict and on_sync method 2019-10-28 14:40:42 -07:00
Sergi Delgado Segura
db87fab9ee Fixes prefix encoding 2019-10-28 14:38:56 -07:00
Sergi Delgado Segura
594cc6ca22 Fixes logging actor 2019-10-28 14:38:56 -07:00
Sergi Delgado Segura
10dc67973e Sets a basic way of dealing with #48
Splits the logging in two loggers (console and file) so the logs can be formatted separately.

A more complete console logging is required though. Right now it only should the message, but it would be nice to include also the parametters in a human-redable and friendly way.

Fixing it using a single Logger will also be nice, but not worth spending too much on.
2019-10-28 14:38:56 -07:00
Sergi Delgado Segura
a0538739d2 Starts data persistence integration
The difference between master and the old data-persistence branch was huge, seems more effective to manually cherry pick the changes and integrate them
2019-10-28 14:38:50 -07:00
Salvatore Ingala
21b54f048e Refactored error handling in add_appointment; minor comments from PR review 2019-10-25 14:51:15 +08:00
Salvatore Ingala
a19bfa13ff Separated signing logic of the Watcher in sign_appointment function; added unit test 2019-10-24 12:19:33 +08:00
Salvatore Ingala
78a0fb46b0 Catching and logging when start_api raises an exception 2019-10-24 11:46:13 +08:00
Salvatore Ingala
b633c89724 Several fixes from PR review 2019-10-23 22:33:34 +08:00
Salvatore Ingala
e80206c2cd Merge branch 'master' into 13-appointment-signature 2019-10-23 20:51:11 +08:00
Sergi Delgado Segura
52f52f57f8 Apply requested changes
- Adds a PRG based on a hardcoded seed to make the tests reproducible (get_random_value_hex)
- Updates all the tests replacing urandom for get_random_value_hex
- Properly places misplaced bitcoin_cli in bitcoin_sim_tests
- Typos
2019-10-23 12:40:25 +01:00
Salvatore Ingala
cd2f3610f9 Merge branch 'testing' into 13-appointment-signature 2019-10-23 09:19:44 +08:00
Sergi Delgado Segura
af0e9c81b5 Adds some missing tests 2019-10-22 16:38:28 +01:00
Sergi Delgado Segura
be16d8af73 Improves responder.
Several changes have been performed:

- Retry counter has been removed (#23)
- Rebroadcast return receipts now
- Re-calling send_transaction if a fixable error occurs should be handled in the responder now (missing)
- Fixes some small bugs
2019-10-22 15:03:18 +01:00
Sergi Delgado Segura
45552e390c Changes send_transaction to not be recursive
send_transaction had an edge case that was treated recursively. Return a receipt instead and handle that in the caller
2019-10-22 15:01:50 +01:00
Salvatore Ingala
9b1af92fc3 Minor fixes 2019-10-22 18:59:27 +08:00
Salvatore Ingala
cbcff453b1 Remove unused import 2019-10-22 14:37:28 +08:00
Salvatore Ingala
8b46c2f496 Merge branch 'testing' into 13-appointment-signature 2019-10-22 12:14:02 +08:00
Salvatore Ingala
1601f0ca15 Renamed constants and default file names for Pisa's private and public keys 2019-10-22 12:13:12 +08:00
Sergi Delgado Segura
3afcf9e708 Flags methods not covered by unit tests 2019-10-21 19:53:34 +01:00
Sergi Delgado Segura
71ce7c46ec Removes the parameters for do_subscribe + PEP8 2019-10-21 16:54:48 +01:00
Sergi Delgado Segura
e5013d5bca Dissables Flask logging 2019-10-21 16:53:29 +01:00
Salvatore Ingala
e71c014535 Sorting keys and removing whitespaces in Appointment.to_json 2019-10-21 11:07:58 +08:00
Salvatore Ingala
8b7597b909 typo 2019-10-18 15:59:23 +08:00
Salvatore Ingala
ca64b59277 Added signature verification to pisa_cli 2019-10-18 14:56:59 +08:00
Salvatore Ingala
414a4638bd Added signature verification to watcher's add_appointment test 2019-10-18 12:37:06 +08:00
Salvatore Ingala
50d53e0960 Converted response format of add_appointment to json 2019-10-18 10:22:04 +08:00