forked from karask/python-bitcoin-utils
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
54 lines (45 loc) · 2.74 KB
/
TODO
File metadata and controls
54 lines (45 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
SHORT-TERM
- create Address object that covers all addresses and can convert from one to another
- load public key with x-only pubkey, ensure it works for several...
- TxWitnessInput/Script can take objects and call the appr. method to hexlify after inspecting the obj
SEGWIT-related
- A '00' byte needs to be added for non-witness inputs in between witness (inputs-witnesses are 1-1!) automatically?
. currently adding it manually works fine (see 3 inputs 1 output example)
. think of clean way of automating this (auto-magically adding them could confuse users!)
- segwit v0 and v1 address object instantiates from address, witness program and script
. are all used? test?
- add annex to signature hash (easy, just add in bytes or hex in the method and include)
- ControlBlock does not handle sign bit for batch validation (tweak_public_key needs to return a second return value - negated)
- ControlBlock does not automatically construct the merkle path (expects it as input)
CLEAN UP
- utils' to_bytes used in from_raw -- clean/reuse appropriate one
- i_to_b32 exists but also bytes32_from_int (confirm they are the same and use i_to_b32)
- rename VarInt to CompactSize
- from_raw code
- segwit examples and get_transaction_segwit_digest
- use stubs for mypy to get type hints for external libraries that don't support hints (for now using # type: ignore for external libs)
- python.analysis.useLibraryCodeForTypes is set to false for pyright to not auto-deduce types for external libraries that do not use hint stubs / mypy)
IMPROVE
- test proxy object extensively, students reports it fails sometimes
DOC-related
- add explicit documentation for each module before members...
- commit docs/usage/proxy.rst
- segwit in documentation
- create jupyter notebooks instead of above documentation?
tests-related
- improve test structure - similar to Bitcoin core
OTHERLIBS-related
- add to bitcoin-rpc lib option to ignore invalid ssl cert
. needed to access remotely withut cert (for other validators from clients)
. https://github.com/jgarzik/python-bitcoinrpc/pull/50
. but not in a lib release yet
. add config.ini option to optionally ignore cert so that it works when calling btcd remotely
- create HD wallet implementation - very simple - similar to the hdwallet lib that I wrap
- create block object and impl. .from_raw(..) instantiation
OTHER
- reminder: update copyright in all files 2018-2022?
- create script: clean-less-than-sats 100000 bc1q86gsg4t32...
- create test with 260 outputs (inputs too much trouble) - file: test_extreme_txs.py
- create test with script of 260 and another with 66000 commands
- maybe make RBF the default from now on (like Bitcoin Core)
. will need to change all the tests, unless I add minor hack that uses RBF by default only for taproot