Carl Dong
836fdce475
fuzz: Add fuzzer for RawNetworkMessage.
2019-06-05 07:49:19 -04:00
Matt Corallo
98796576d2
Fix trivial DoS when deserializing messages from the network
2019-06-05 07:49:19 -04:00
Andrew Poelstra
08c756d20e
Merge pull request #264 from TheBlueMatt/2019-05-faster-enc-dec
...
Speed up consensus::[d]encode significantly
2019-06-05 11:46:56 +00:00
Matt Corallo
2b6058e335
Decrease travis-fuzz iterations to fix hangs
2019-05-30 11:25:37 -04:00
Matt Corallo
fa1ec2028d
Speed up Vec<u8> [d]e[n]code operations by dropping the generic
2019-05-30 11:25:37 -04:00
Matt Corallo
ee827e4aa3
Drop some unused/not-needed Encodable impls
2019-05-30 11:25:37 -04:00
Matt Corallo
84835f244c
Support sendheaders network message decode
2019-05-30 11:25:37 -04:00
Matt Corallo
084f82be21
Swap a few more [d]encoders to slice emit/read functions
2019-05-30 11:25:37 -04:00
Matt Corallo
7015b064dd
Add slice consensus encode/decode functions and use for short arrays
2019-05-30 11:25:37 -04:00
Andrew Poelstra
4139f2a1ca
Merge pull request #258 from shesek/signed-msg-hash
...
Implement util::misc::signed_msg_hash()
2019-05-30 14:35:57 +00:00
Andrew Poelstra
e0205fc9fa
Merge pull request #260 from TheBlueMatt/2019-05-headers-no-pub-wrapper
...
Drop LoneHeaders and just use BlockHeader
2019-05-21 20:30:35 +00:00
Matt Corallo
4f96a87475
Drop LoneHeaders and just use BlockHeader
...
The protocol has a bug where a 0u8 is pushed at the end of each
block header on the wire in headers messages. WHy this bug came
about is unrealted and shouldn't impact API design.
2019-05-17 17:55:02 -04:00
Andrew Poelstra
b471a12487
Merge pull request #257 from stevenroose/bip32-increment
...
bip32: Add increment method to DerivationPath and ChildNumber
2019-05-04 21:25:21 +00:00
Steven Roose
bb8520268e
bip32: Add DerivationPathIterator and related methods
...
Adds methods
- ChildNumber::increment
- DerivationPath::children_from
- DerivationPath::normal_children
- DerivationPath::hardened_children
2019-05-03 17:58:09 +01:00
Andrew Poelstra
b75e154dd8
Merge pull request #256 from stevenroose/nit-changelog
...
Fix nit in CHANGELOG.md
2019-05-02 20:31:42 +00:00
Nadav Ivgi
473b491409
Implement util::misc::signed_msg_hash()
2019-04-28 09:01:42 +03:00
Steven Roose
8f2719016e
Fix nit in CHANGELOG.md
2019-04-26 15:07:18 +01:00
Andrew Poelstra
214345745b
Merge pull request #248 from apoelstra/2019-03-0.18
...
bump version to 0.18
2019-03-22 15:22:35 +00:00
Andrew Poelstra
b9e44e4ffd
bump version to 0.18
2019-03-21 23:20:06 +00:00
Andrew Poelstra
b94d0fcf24
Merge pull request #247 from apoelstra/2019-03-contracthash
...
contracthash: use `PublicKey` and `PrivateKey` types; minor cleanups
2019-03-21 23:05:43 +00:00
Andrew Poelstra
dc6189dbb2
contracthash: more cleanups
2019-03-21 21:27:26 +00:00
Andrew Poelstra
01a3a9263c
contracthash: use `PublicKey` and `PrivateKey` types; minor cleanups
2019-03-21 21:27:26 +00:00
Andrew Poelstra
3700d100eb
contracthash: add fixed test vector
2019-03-21 21:27:26 +00:00
Andrew Poelstra
cea49b6522
Merge pull request #246 from apoelstra/2019-03-key-serde
...
util::key add serde de/serialization
2019-03-21 21:26:25 +00:00
Andrew Poelstra
9daf7fa9dc
util::key add serde de/serialization
2019-03-21 18:27:42 +00:00
Carl Dong
221e53b13e
Merge pull request #243 from stevenroose/pubkey-serialize
...
util:🔑 Provide to_bytes() methods for key types
2019-03-06 21:44:02 -05:00
Carl Dong
d667e0f894
Merge pull request #244 from stevenroose/bech32-bump
...
Bump bitcoin-bech32 dependency
2019-03-06 21:43:36 -05:00
Steven Roose
459059622f
util: 🔑 Provide to_bytes() methods for key types
...
These are mainly utility methods around the existing way to serialize
the key types.
2019-03-05 16:07:52 +00:00
Steven Roose
750da89992
Bump bitcoin-bech32 dependency
...
This makes the Address::Payload::WitnessProgram inner type compatible
with rust-lightning-invoice's Fallback::SegWitProgram's inner type.
This allows specifying fallbacks from addresses.
2019-03-04 21:15:28 +00:00
Andrew Poelstra
08c6435eb7
Merge pull request #242 from apoelstra/2019-03-0.17.1
...
bump version to 0.17.1
2019-03-04 20:20:38 +00:00
Andrew Poelstra
d5c1200590
bump version to 0.17.1
2019-03-04 17:51:38 +00:00
Andrew Poelstra
7e1a6a4ab7
Merge pull request #241 from apoelstra/2019-03-pubkey-string
...
key: implement ToString and FromStr for PublicKey
2019-03-04 17:47:36 +00:00
Andrew Poelstra
049f75e502
script: add `push_key` function to Builder to allow serializing public keys more easily
2019-03-04 01:32:35 +00:00
Andrew Poelstra
4dbf431ecd
key: implement ToString and FromStr for PublicKey
2019-03-04 01:06:19 +00:00
Andrew Poelstra
8aa964ce43
Merge pull request #239 from apoelstra/2019-02-0.17
...
bump version to 0.17.0
2019-03-01 19:43:51 +00:00
Andrew Poelstra
8e214ffa90
add #231 to CHANGELOG for 0.17.0
2019-03-01 16:13:56 +00:00
Andrew Poelstra
c342bf3731
bump version to 0.17.0
2019-02-28 22:02:45 +00:00
Andrew Poelstra
67e4671457
Merge pull request #103 from dongcarl/psbt
...
BIP174 (de)serialization support
2019-02-28 17:20:37 +00:00
Carl Dong
e5b59120c5
Add copyright notice to PSBT-related files
2019-02-28 11:11:55 -05:00
Carl Dong
f74ec3e187
Add fuzz testing for PartiallySignedTransaction
2019-02-28 11:11:55 -05:00
Carl Dong
bc73b315cb
Add test vectors from BIP174 specification
...
- Add macro for decoding and unwrapping PartiallySignedTransaction from
hex string
2019-02-28 11:11:55 -05:00
Carl Dong
39fd567b56
Add Partially Signed Transaction type
...
- Add merging logic for PartiallySignedTransactions
- Add (en)decoding logic for PartiallySignedTransaction
- Add converting constructor logic from Transaction for
PartiallySignedTransaction
- Add extracting constructor logic from PartiallySignedTransaction for
Transaction
Squashed in fixes from stevenroose <stevenroose@gmail.com>
- Prevent PSBT::extract_tx from panicking
- Make PartiallySignedTransaction fields public
2019-02-28 11:11:55 -05:00
Carl Dong
badb0f2a77
Add PSBT input data key-value map type
...
- Implement psbt::Map trait for psbt::Input
- Add (en)decoding logic for psbt::Input
- Implement PSBT (de)serialization trait for relevant psbt::Input types
2019-02-28 11:11:55 -05:00
Carl Dong
9c08dbae47
Add PSBT output data key-value map type
...
- Implement psbt::Map trait for psbt::Output
- Add (en)decoding logic for psbt::Output
- Implement PSBT (de)serialization trait for relevant psbt::Output types
- Add macro for merging fields for PSBT key-value maps
- Add macro for implementing decoding logic for PSBT key-value maps
- Add convenience macro for implementing both encoding and decoding
logic for PSBT key-value maps
- Add macro for inserting raw PSBT key-value pairs into PSBT key-value
maps
- Add macro for getting raw PSBT key-value pairs from PSBT key-value
maps
2019-02-28 10:54:53 -05:00
Carl Dong
115f8c043c
Add PSBT global data key-value map type
...
- Implement psbt::Map trait for psbt::Global
- Add converting constructor logic from Transaction for psbt::Global
- Add (en)decoding logic for psbt::Global
- Always deserialize unsigned_tx as non-witness
- Add trait for PSBT (de)serialization
- Implement PSBT (de)serialization trait for relevant psbt::Global types
- Add macros for consensus::encode-backed PSBT (de)serialization
implementations
- Add macro for implementing encoding logic for PSBT key-value maps
2019-02-28 10:54:53 -05:00
Carl Dong
2715a6e777
Add trait for PSBT key-value maps
2019-02-28 10:54:53 -05:00
Carl Dong
528e39334c
Add data types for raw PSBT key-value pairs
...
- Add (en)decoding logic for said data types
2019-02-28 10:54:53 -05:00
Carl Dong
4fa39c4a3e
Add PSBT-specific Error data type
...
- Implement psbt::Error data type
- Implement conversion from psbt::Error to util::Error
- Create util::psbt module
- Create non-public util::psbt::error module
2019-02-28 10:54:53 -05:00
Andrew Poelstra
919bbeae4a
Merge pull request #238 from apoelstra/2019-02-bip32-keys
...
Replace `secp256k1` keys with `util::key` keys in BIP32
2019-02-28 13:42:50 +00:00
Andrew Poelstra
4f74ae61c4
bip32: replace rust-secp key types with rust-bitcoin key types
...
We continue to support only compressed keys when doing key derivation,
but de/serialization of uncompressed keys will now work, and it will
be easier/more consistent to implement PSBT on top of this.
2019-02-27 22:21:40 +00:00