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