Commit Graph

1344 Commits

Author SHA1 Message Date
Neil Booth
813fc09d64 Use JSON RPC terms in docs, not Python 2018-07-18 14:28:44 +08:00
Neil Booth
7ce91b1a43 Minor tweaks 2018-07-18 14:22:40 +08:00
Neil Booth
f5926cf865 Label as 1.6pre3 2018-07-18 14:07:08 +08:00
Neil Booth
391e69b66c Introduce ChainState object
- reduces the tangle of object dependencies
- rationalizes responsibilities
2018-07-18 14:05:39 +08:00
Neil Booth
53425ce585 Move task logic to Tasks object
This helps to rationalize the inter-object
dependencies.
2018-07-18 11:30:33 +08:00
Neil Booth
22b01d4dfb Move masternode cache.
It was mistakenly made a pylru cache...
Don't force non-Dash coins to carry the cache.
2018-07-18 11:30:33 +08:00
Neil Booth
9cf3b5358f Move raw_header to session manager
Ultimately this stuff belongs in a ChainState object.
2018-07-18 11:30:33 +08:00
Neil Booth
b7572ce9c0 More refactoring of controller
- remove the header cache - not needed for higher protocol versions
- simplify session notification; move to session manager
- move history cache to session manager
2018-07-18 09:20:14 +08:00
Neil Booth
c8c896a14c Minor tweaks. 2018-07-18 08:46:37 +08:00
ghost43
c7f3f7ac6d new protocol method: blockchain.transaction.id_from_pos (#524) 2018-07-18 08:35:34 +08:00
Neil Booth
60435c0c06 Fix peer discovery for protocol >= 1.4 2018-07-17 22:45:50 +08:00
Neil Booth
c7f6f3ede6 Move get_utxos to session 2018-07-17 22:12:41 +08:00
Neil Booth
c712d4be32 Fix session_count invocation
(thanks to nijel)
2018-07-17 20:29:14 +08:00
Neil Booth
a3d3bbe9a7 Move more code out of controller to sessions
Disable a test that will require significant work
2018-07-17 20:20:28 +08:00
Neil Booth
0b55a3f7f2 Mark as pre2 2018-07-17 18:23:53 +08:00
Neil Booth
e41d1db25c Create SessionManager class
Break out controller functionality for session management.
2018-07-17 18:14:55 +08:00
Neil Booth
c35c062780 Move more code to session class from controller 2018-07-17 16:47:00 +08:00
Neil Booth
063f1b2eff Move block_get_header and estimate_fee to session 2018-07-17 14:45:55 +08:00
Neil Booth
ca777ed427 Move three more methods from the controller to session 2018-07-17 11:56:26 +08:00
Neil Booth
3dbc10bca0 Move address handlers from controller to session 2018-07-17 11:44:15 +08:00
Neil Booth
4f99f254ea Move scripthash handlers from controller to session 2018-07-17 11:32:42 +08:00
Neil Booth
739bb687fc Convert PROTOCOL_MIN, PROTOCOL_MAX to tuples 2018-07-17 10:59:41 +08:00
Neil Booth
c790fd567c Move things from Controller to session class
which better belong there:

- PROTOCOL_MIN, PROTOCOL_MAX
- server_features()
- server_version_args()
- inline protocol_tuple()
2018-07-17 09:33:33 +08:00
Neil Booth
fdb34e7d25 Store session's protocol version as a tuple, not string 2018-07-17 09:16:57 +08:00
Neil Booth
5ba5d05add Protocol 1.4: only accept a single server.version message
- remove unused self.client_version
- coerce client_name to a str
2018-07-17 09:16:26 +08:00
Neil Booth
382fc5ed44 Improve logging of client version requests 2018-07-16 21:25:50 +08:00
Neil Booth
8630c9136c Have the header merkle cache handle reorgs
Cleanest to move the mc_cache to the block processor
2018-07-16 20:54:55 +08:00
Neil Booth
e5ea1c10e2 Update docs for raw headers. 2018-07-16 19:29:04 +08:00
Neil Booth
362499778a Prepare 1.6pre1 2018-07-16 19:18:36 +08:00
Neil Booth
061cac51a8 Implement merkle proof for blockchain.block.headers 2018-07-16 17:32:49 +08:00
Neil Booth
46d8e0c608 Implement merkle proofs for blockchain.block.header 2018-07-16 16:02:55 +08:00
Neil Booth
20884170e6 Remove raw argument to blockchain.headers.subscribe 2018-07-16 15:00:52 +08:00
Neil Booth
0ee27970af Update documentation for protocol 1.4 2018-07-16 14:49:14 +08:00
Neil Booth
d390b38acf Add cache truncation and tests 2018-07-16 12:42:53 +08:00
Neil Booth
26d8026938 Increase merkle cache test coverage to 100% 2018-07-16 09:53:43 +08:00
Neil Booth
4168341857 Implement a markle cache with tests 2018-07-16 09:36:32 +08:00
Neil Booth
997a1be377 Prepare 1.5.2 2018-07-15 08:05:09 +08:00
Neil Booth
73a46df17f Remove hash_to_str 2018-07-14 21:48:58 +08:00
Neil Booth
3c3a1b7017 Fix thinko in prior
Rename function to prevent similar mistakes in future

Also hash_to_str -> hash_to_hex_str
2018-07-14 21:29:11 +08:00
Neil Booth
c22b7d455c Have server code use merkle library 2018-07-14 20:11:34 +08:00
Neil Booth
af45363eeb Add merkle library with tests 2018-07-14 19:44:10 +08:00
Neil Booth
70f8d7c4b9 Partial reversion of 2cb89814b6
Fixes #523

BU, XT and other coins based on older Core code require integers
not booleans
2018-07-14 14:24:52 +08:00
Neil Booth
e1e4129e17 Prepare 1.5.1 2018-07-13 18:13:09 +08:00
Neil Booth
27f1c2480d Update BCH peers 2018-07-13 18:06:15 +08:00
Neil Booth
d2e8fe7fa1 Update peer discovery code for protocol 1.3 2018-07-13 17:57:00 +08:00
Neil Booth
9d02b03ab1 Log Python interpreter version on startup 2018-07-13 16:41:01 +08:00
Neil Booth
cd85a49a47 Use our own logging, not aiorpcX's 2018-07-13 09:26:37 +08:00
Neil Booth
02fb534176 Don't import version in setup.py
Fixes #520
2018-07-13 08:52:10 +08:00
Neil Booth
9f43fb8eb8 Tweak setup.py 2018-07-12 19:39:13 +08:00
Neil Booth
2cfcbc0b7e Remove some old history from the changelog 2018-07-12 16:41:38 +08:00