Commit Graph

1327 Commits

Author SHA1 Message Date
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
Neil Booth
70c81abc40 Add a note to 1.5 release notes 2018-07-12 16:39:04 +08:00
Neil Booth
40db8836ce Minor doc tweaks 2018-07-12 16:33:32 +08:00
Neil Booth
8a4f9e20ac Prepare 1.5 2018-07-12 16:03:07 +08:00
Neil Booth
d51f98e739 Create and use class_logger() utility function 2018-07-12 15:51:42 +08:00
Neil Booth
9534a83257 Log class name only from server script
Based on #518 by eukreign
2018-07-12 15:32:45 +08:00
Neil Booth
30680bfb37 More doc updates 2018-07-12 11:49:49 +08:00
Neil Booth
3063dec4cc Document removed metohds in new file 2018-07-12 11:30:42 +08:00
Neil Booth
7c82d1fe5f blockchain.headers.subscribe: raw defaults to True in 1.3
Update docs for this and other omissions.
2018-07-12 11:23:18 +08:00
Neil Booth
029d94388f Update .gitignore 2018-07-12 11:03:42 +08:00
Neil Booth
7911f0d525 Remove blockchain.address.* methods from protocol 1.3+ 2018-07-12 11:00:57 +08:00
Neil Booth
26206fd3e4 Drop the .py suffix from electrumx_server & electrumx_rpc 2018-07-12 01:22:54 +08:00
Neil Booth
4171e58f8a Use version directly
readthedocs is lame and uses python3.5 which cannot parse the
files
2018-07-12 00:53:59 +08:00
Neil Booth
c35ac6d9bb Deprecate blockchain.block.get_header as of protocol 1.3
Use new blockchain.block.header instead.
2018-07-12 00:31:49 +08:00
Lex Berezhny
71b3d30842 Server listening (#516)
* + server_listening Event in Controller (to know when server has fully started)
2018-07-11 08:50:10 +08:00
Lex Berezhny
f8ebcf35b4 Env accepts custom Coin class (#517)
* + support for passing an actual coin class to Env()

* unit test for Env() accept coin class

* doc string explaining optional Coin argument to Env and assert to make sure a coin is a Coin
2018-07-11 08:48:57 +08:00
Neil
c28b5af309
Export Controller and Env from the package (#515) 2018-07-10 14:17:49 +08:00
Lex Berezhny
45111898b3 make it easier to configure logging for electrumx (#514)
* make it easier to configure logging for electrumx
2018-07-10 11:17:42 +08:00