forked from richardkiss/pycoin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
170 lines (131 loc) · 5.08 KB
/
CHANGES
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
Version 0.60
------------
* more tests
* prototype support for using native OpenSSL methods to speed up some slow operations.
Set (and export) environment variable PYCOIN_NATIVE=openssl to activate.
* moved intbytes to pycoin.intbytes
* support signing pay-to-scripthash in tx utility
* abolish support for negative numbers in BIP32 key paths
* more networks
* changed how Spendable streams to text and to dicts to put transaction hashes in the
more conventional order. ** WARNING **: if you have built databases of Spendable objects
using these methods, you will need to convert them
* make spend.py script obsolete
* first crack at Insight service, chain.so service, chain.com service
* deprecate Tx.tx_from_hex in favor of Tx.from_hex
* a zillion other minor fixes
Version 0.52
------------
* more networks
* moved some (untested) network code from pycoinnet
* fix a bug in Key which affected ku, and add a unit test (thanks to Michael Perklin for the report)
Version 0.51
------------
* add pycoin.blockchain (which was in github but not setup.py)
Version 0.50
------------
* use tox for testing (see TESTING.txt for more info)
* move blockchain utilities from pycoinnet to pycoin
* completely rework how scripts are identified and solved in an easier-to-extend way
* add fields to Spendable that will work better with wallets (coming soon)
* add Tx.blanked_hash to assist in identifying transactions subject to malleability
* can now sign M of N transactions
* signing just one signature in an M of N transaction supported
* VM improved so multisig validation now supported
* pay-to-script validation now supported
* pay-to-script signing now supported
Version 0.42
------------
* switch TxOut.bitcoin_address to taking netcode, sorry for API thrash
* get pay-to-script addresses recognized in existing transactions
* still can't create or sign them
Version 0.41
------------
* fix version number in setup.py so this is actually the latest version sent by pypi
* allow alternate networks when parsing WIFs
* move to three or four letter netcodes, like BTC
* add pycoin/key/validate.py for methods that validate addresses (including pay-to-script addresses)
NOTE: we can't yet create or parse transactions with pay-to-script addresses
* get block script working
* fix a few other bugs
Version 0.40
------------
This is a pretty major overhaul... sorry for broken API!
* added MANIFEST.in
* initial support for Litecoin and Dogecoin addresses
New Scripts:
* ku (keys & BIP32 manipulation), replaces bu/bitcoin_utils and genwallet
* tx (transaction manipulation), replaces spend
* fetch_unspent command-line tool
* cache_tx to add a transaction to local cache
* block (to dump contents of a block)
Keys:
* added Key class with alt coin support
* renamed Wallet.py to bip32.py
Tx:
* massive overhaul of Tx class
* remove UnsignedTx class, folding functionality into Tx
* partial signing supported by Tx
* added Spendable class
* Tx objects can now optionally be augmented with data about source coins ("unspents")
* if this data is set, many new methods can be called related to signing or verifying
* easy integration with TxDB class to set unspents
* deterministic signing of TxIn according to RFC6979
* limit S values in preparation for version 3 transactions
* tx_utils helper to make it dead simple to create new, signed transactions
* create_tx and create_signed_tx
Services:
* new support for blockr.io and biteasy.com
* services now integrated with environment variables:
* PYCOIN_SERVICE_PROVIDERS
* PYCOIN_CACHE_DIR
* a new TxDB class
* looks like a dictionary
* transparently uses configured services
* caches fetched transactions
Version 0.26
------------
* fixed Block.repr
* more testnet support
Version 0.25
------------
* improve display in satoshi_to_btc
* add TxOut.bitcoin_address
* allow UnsignedTx to be streamed and parsed
Version 0.24
------------
* add some support for testnet
* add support for ripemd160 in Google App Engine
* add a BIP32 wallet subkey cache
Version 0.23
------------
* fixed two bugs specific to Python 2.7 (thanks to Peter D. Gray)
Version 0.22
------------
* now works with Python 3.2
* added "bu" command-line utility
* improvements to "spend" command-line utility
* added some blockchain.info utilities
* first crack at transaction fee conventions
* rename public_pair_from_sec to sec_to_public_pair
Version 0.20
------------
* transaction signing is much easier to use now
* massive refactoring of script package
Version 0.14
------------
* a few speed-ups
* fix genwallet script
Version 0.13
------------
* first crack at support for Python 2.7
* rename ripemd160_sha256 to hash160
* add a bunch of pydoc comments
* first crack at genwallet.py utility (need a better name)
* very preliminary crack at spend.py utility
* reduce Tx database that's required to be passed to the "sign" method
to include bare minimum of data (the output script for a given hash/index)
* change ":pub" keypath suffix to ".pub" (still not sure about this)
* lots of refactoring, parameter renaming, moving things around
related to signing and verifying transactions. Better, but still
not perfect.