Sergi Delgado Segura
add5d262b6
Includes Appointment docstrings and redesigns triggered flag
...
The triggered flag is only used to interact with the DB but it was kept as an Appointment attribute. Now it is only used when exporting to json, which is used to store data into the db.
2019-12-09 14:36:16 +01:00
Sergi Delgado Segura
641cc3be4f
api docstrings
2019-12-09 14:33:31 +01:00
Sergi Delgado Segura
dac9f56901
Gets rid of Appointment.serialize()
...
The method is replaced by signature_foramt in Cryptographer
2019-12-09 13:31:06 +01:00
Sergi Delgado Segura
589d24c472
Removes old TODO.md file
2019-12-09 10:17:30 +01:00
Sergi Delgado Segura
d39056a0cc
Refactors signing/verifiying functionality to be part of the Cryptographer
...
- All encryption/decryption and signing/verifying calls are performed by the cryptographer now.
- The current signature format is temporal. We should define something not base on json.
- Some Cryptographer tests are still missing.
- The cli tests should be modified to fit this too.
2019-12-07 13:22:39 +01:00
Sergi Delgado Segura
ae676e6632
Changes key encoding format from PEM to DER
2019-12-07 13:22:13 +01:00
Sergi Delgado Segura
a8800ac375
Integrates encryption/decryption within the Cryptographer. Close #63
...
Includes unittests. Also reformats test_inspector to avoid using cli functions
2019-12-06 13:23:02 +01:00
Sergi Delgado Segura
5f7cd7e189
Delete old TODOs
2019-12-05 11:34:44 +01:00
Sergi Delgado Segura
b4197aa5bb
Replaces hardcoded 16/32 for LOCATOR lengths
2019-12-05 11:26:58 +01:00
Sergi Delgado Segura
bd08b151df
Replaces locator with common/constants value
2019-12-05 11:03:36 +01:00
Sergi Delgado Segura
ac912aea69
Removes unused errors, redefines the ones after those
2019-12-05 11:02:46 +01:00
Sergi Delgado Segura
babb746dbd
Create common package
...
Moves cryptographer to common. Also adds constants and defines the leghtn of the locator to avoid hardcoding it in almost every file
2019-12-05 11:02:17 +01:00
Sergi Delgado Segura
f0150ce585
Removes hash/cipher configuration and changes AESGCM128 for CHACHA20POLY1305
...
Updates tests accordingly
2019-12-04 17:46:07 +01:00
Sergi Delgado Segura
c679d59451
Merge branch '59-uncovered-tests'
2019-12-04 14:41:24 +01:00
Sergi Delgado Segura
5e9211d562
Some parameters were mixed up when boostraping from DB
2019-12-04 13:27:29 +01:00
Sergi Delgado Segura
c663fab788
Return non found if the locator does not fit the proper format
2019-12-04 13:27:06 +01:00
Turtle
7713a3cd47
Server validates appointment signature upon reception
2019-11-26 23:21:07 -05:00
Sergi Delgado Segura
d2b7216a96
Addresses requested changes
2019-11-22 14:48:38 +00:00
Sergi Delgado Segura
2183c57f53
Updates handle_reorgs and deletes check_tx_in_chain
...
Updates handle_reorg to work with the current version of the Responder (the old code was outdated and broken).
`check_tx_in_chain` was only used by `handle_reorgs`, and made not much sense at this point. The method need to check if the transaction is in mempool or blockchain, so it seems to make more sense bulding on top of `get_transaction`.
2019-11-20 15:41:50 +00:00
Sergi Delgado Segura
05961f1632
Moves tx_in_chain to Carrier
...
Also integrates it properly so it uses self.get_transaction() instead of bitcoin_cli straightaway. Error messages have also been merged / modified
2019-11-20 13:01:27 +00:00
Sergi Delgado Segura
3a1bf0cc8a
Updates API to use DB on get methods
2019-11-14 17:38:26 +00:00
Sergi Delgado Segura
f65e2af675
Deletes missed print
2019-11-14 15:03:03 +00:00
Sergi Delgado Segura
c54d10f92c
Fixes Responder
...
There were a couple of wrong things going on in the `Responder`:
- `check_confirmations` included in 8a10979db0 was not doing a good job keeping track of the missed confirmations, probably due to a overlooked refactor.
- There was an edge case when adding txs to `unconfirmed_txs` on `create_job` that may lead to a transaction being confirmed and unconfirmed at the same time from the `Responder's` pow. It could be triggered by adding two jobs with the same justice_txid.
2019-11-11 17:50:28 +00:00
Sergi Delgado Segura
f81cb04b74
Fixes get_distance_to_tip
2019-11-11 14:03:18 +00:00
Sergi Delgado Segura
3c6f13ef00
Rename delete_completed_appointments and rearange arguments
2019-11-11 13:27:57 +00:00
Sergi Delgado Segura
4233c9d5cc
Refactor get_matches and filter_valid_matches to not be static
2019-11-08 18:21:42 +00:00
Sergi Delgado Segura
da61ea9b8e
Makes sure that blobs to be decrypred are even-length
2019-11-08 18:20:05 +00:00
Sergi Delgado Segura
8a10979db0
Refactors Responder and BlockProcessor
...
Brings check_confirmations back to the Responder
2019-11-08 16:25:40 +00:00
Sergi Delgado Segura
20faa04c4c
Refactord Watcher and BlockProcessor. Closes #36 .
...
Brings back check_potential_matches and check_matches to the Watcher.
The methods have now been renamed to check_matches (old check_potential_matches) and filter_valid_matches (old check_matches) to provide a better description of their purpose.
decode_raw_transaction has been added to BlockProcessor
2019-11-08 16:25:35 +00:00
Sergi Delgado Segura
c08013abd0
Creates Cryptographer. Separates decryptiomn from encrypted_blob
2019-11-08 16:24:31 +00:00
Sergi Delgado Segura
8b2f0efa2f
Moves appointment deletion + db update to the cleaner
2019-11-07 19:16:05 +00:00
Sergi Delgado Segura
2b1640ea86
Simplifies Inspector using Appointment.from_json() constructor
2019-11-07 16:56:30 +00:00
Sergi Delgado Segura
20f296c9d4
Reformats code to match code guidelines
2019-11-07 15:47:35 +00:00
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