Dr Maxim Orlovsky
072e1d1b86
PSBT Display & FromStr using Base64 serialization
2021-02-22 12:46:22 +01:00
Andrew Poelstra
2414c5b0a9
Merge pull request #573 from darosior/standard_sighash
...
SigHashType: add a method to error on non-standard hashtypes
2021-02-21 15:34:58 +00:00
Andrew Poelstra
81c56dec60
Merge pull request #551 from LNP-BP/feat/key-error-derives
...
More derives for key::Error
2021-02-21 14:14:54 +00:00
Sebastian
3ecab20c17
Merge pull request #414 from stevenroose/amount-debug
...
Change Amount Debug impl to BTC with 8 decimals
2021-02-21 15:14:40 +01:00
Antoine Poinsot
e36f3a38e4
transaction: deprecate SigHashType::from_u32 in favor of from_u32_consensus
...
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2021-02-19 11:36:44 +01:00
Dr Maxim Orlovsky
017cd71ca7
Improving bip32 ChildNumber display implementation
2021-02-11 23:06:24 +01:00
Nadav Ivgi
a1e98a6796
Implement Ord for ParseLengthError
2021-01-22 00:27:28 +02:00
Nadav Ivgi
55657cbffb
Implement Error and Eq for ParseLengthError
2021-01-16 13:02:22 +02:00
Nadav Ivgi
0df86b4426
Switch to a single-variant error type, implement standard derives
2021-01-14 22:17:18 +02:00
Jeremy Rubin
da21294ac5
Fix Optional Amount Serialization
2021-01-14 10:46:20 -08:00
Nadav Ivgi
4a7cf34eeb
Use efficient serialization for non-human-readable formats
2021-01-14 19:36:36 +02:00
Nadav Ivgi
b70361370b
Make uint types (un)serializable
2021-01-14 19:36:35 +02:00
Nadav Ivgi
67ae602e2a
Implement Uint::from_be_slice()
...
Needed because Rust 1.29 does not easily allow converting from a slice
into an array.
2021-01-14 19:36:30 +02:00
Nadav Ivgi
3761b0d808
Implement Uint::to_be_bytes()
2021-01-14 19:28:02 +02:00
Dr Maxim Orlovsky
246713821d
More derives for key error
2021-01-14 16:03:53 +01:00
Steven Roose
61918dfe81
Change the signature of consensus_encode to return io::Error's
...
This is instead of encode::Errors because the encoders should
not be allowed to return errors that don't originate in the writer
they are writing into.
This is a part of the method definition that has been relied upon for a
while already.
2021-01-12 17:39:41 +00:00
Andrew Poelstra
b48f374c2c
Merge pull request #542 from apoelstra/2021-01--keyread
...
PublicKey: add read_from method to be symmetric with write_into
2021-01-11 19:50:04 +00:00
Andrew Poelstra
92000bf51b
PublicKey: add read_from method to be symmetric with write_into
2021-01-04 19:07:27 +00:00
Steven Roose
5fd92d1c09
psbt: Serialize maps with byte values using hex
2020-12-30 16:32:52 +01:00
Steven Roose
a05f8feec6
serde_util: Rename the btreemap module to btreemap_as_seq
...
So that we can later distinguish other modules over maps.
2020-12-30 16:32:52 +01:00
Steven Roose
a9c13272a0
psbt: Fix serde for maps with non-string keys and binary values
2020-12-30 16:32:52 +01:00
Steven Roose
e5f3bca2b4
Add serde_utils module to fix JSON serialization
2020-12-30 16:32:52 +01:00
Steven Roose
cdedb0a9d5
psbt::raw: Use hex::format_hex to format the raw key bytes
2020-12-30 16:32:52 +01:00
Steven Roose
94b7371424
Replace serde_struct_impl with derive-based impls
2020-12-30 16:32:52 +01:00
Steven Roose
d527a2c2cf
Remove the impl_array_newtype_show macro
...
Instead, implement Debug in impl_bytes_newtype.
2020-12-30 16:32:52 +01:00
Andrew Poelstra
1cc466fec6
Merge pull request #498 from LNP-BP/pending/derivation
...
Derivation path improvements, closes #473
2020-12-28 00:53:25 +00:00
Dr Maxim Orlovsky
7400bccb60
PSBT: proprietary keys type system according to BIP 174
2020-12-21 12:22:35 +01:00
Dr Maxim Orlovsky
c3024c3ebb
PSBT: basic support for proprietary keys
2020-12-21 12:17:07 +01:00
Dr Maxim Orlovsky
44ffddab8c
Impl IntoDerivationPath for string types
2020-12-20 23:39:01 +01:00
Dr Maxim Orlovsky
f9290438cd
DerivationPath improvements
...
Adding IntoDerivationPath trait
DerivationPath is_master function
DerivationPath constructor for empty path + Default impl
2020-12-20 23:39:01 +01:00
Dr Maxim Orlovsky
7f5c2795d6
PSBT global xpub merging algorithm reworked
2020-12-20 11:41:24 +01:00
Dr Maxim Orlovsky
b84faa7f5e
PSBT: Improved global keys version and xpub handling
2020-12-16 16:46:28 +01:00
Dr Maxim Orlovsky
21c11e3315
BSPT: Improving global xpub merging algorithm
2020-12-16 16:39:46 +01:00
Dr Maxim Orlovsky
8b1666295c
Nits in new PSBT global types reviews
2020-12-15 16:04:02 +01:00
Dr Maxim Orlovsky
0235abfac2
Improving PSBT merge with dedicated 1.29 rustc borrow scope
2020-12-15 15:50:18 +01:00
Dr Maxim Orlovsky
df8635c5fe
PSBT: Key pair serialization for new global keys
...
Conflicts:
src/util/psbt/map/global.rs
2020-12-15 15:50:18 +01:00
Dr Maxim Orlovsky
2f838218a8
PSBT: merging new global keys
...
Plus necessary changes to BIP 32 implementations and error type
2020-12-15 15:47:37 +01:00
Dr Maxim Orlovsky
af61d7e7bc
PSBT: adding global types (version, xpub)
2020-12-15 15:47:37 +01:00
Steven Roose
6df16b7ce2
Merge pull request #530 from LNP-BP/psbt/constants
...
PSBT types are now constants
2020-12-15 14:45:52 +00:00
Steven Roose
874ab8eca6
Make signed message prefix a public constant
2020-12-08 17:31:28 +00:00
Dr Maxim Orlovsky
881f4d75dd
PSBT: Making hash preimage constant names match BIP 174
2020-12-07 16:35:28 +01:00
Dr Maxim Orlovsky
214e10baef
PSBT types are now constants
2020-12-07 15:37:16 +01:00
Steven Roose
b4c8e12f36
Merge pull request #259 from stevenroose/taproot
...
Tagged hashes for taproot
2020-12-07 11:34:37 +00:00
Steven Roose
f0ee94f2b2
Merge pull request #513 from LNP-BP/psbt/standard-names
...
PSBT: making input and output field names match spec type names
2020-12-07 11:34:06 +00:00
Dr Maxim Orlovsky
27037e2c72
PSBT: Making RIPEMD160 hash match standard name
2020-12-05 15:46:30 +01:00
Dr Maxim Orlovsky
9b106ee161
PSBT: making BIP32 field name match spec type names
2020-12-05 15:45:20 +01:00
Steven Roose
a56712befc
Create tagged taproot hashes
2020-11-30 20:13:11 +00:00
Steven Roose
ee192eb61d
Merge pull request #470 from LNP-BP/feat/bip32-bin
...
BIP 32 binary encoding functions are extracted from base58
2020-11-23 21:33:54 +00:00
Elichai Turkel
7c05673b86
Merge pull request #487 from RCasatta/map_with_u128
...
use u128 in map_to_range
2020-11-15 15:42:00 +02:00
Dr Maxim Orlovsky
fa4ecb4a6a
Making ExtendedPubKey decode aligned with ExtendedPrivKey variant
2020-11-10 09:30:33 +01:00
Dr Maxim Orlovsky
a802ca88ef
Using base58::check_encode_slice_to_fmt for BIP32 encodings
2020-11-08 18:29:30 +01:00
Dr Maxim Orlovsky
d802872310
Improvements to extended keys encoding logic end errors
2020-11-08 13:03:32 +01:00
Dr Maxim Orlovsky
259259eabf
BIP 32 binary encoding functions are extracted from base58
2020-11-08 13:03:32 +01:00
Dr Maxim Orlovsky
b5f0e9e144
Fixing serde impl for PSBT inputs
2020-11-06 17:01:34 +01:00
Andrew Poelstra
d3210b39fb
Merge pull request #507 from stevenroose/pubkey-write-result
...
Change PublicKey::write_into to return Result
2020-11-05 19:21:39 +00:00
Andrew Poelstra
35d729d9f0
Merge pull request #478 from sanket1729/psbt_again
...
Psbt hash preimages (again)
2020-11-05 17:49:58 +00:00
Andrew Poelstra
8295885e8e
Merge pull request #454 from jrawsthorne/improved-bip158-types
...
Implement new FilterHeader type to differentiate from FilterHash
2020-11-05 16:46:50 +00:00
Andrew Poelstra
93df7cbd3e
Merge pull request #291 from kallewoof/2019-07-signet
...
add signet support
2020-10-26 19:46:10 +00:00
Steven Roose
9699c622fc
Return Result<(), io::Error> from PublicKey::write_into
2020-10-23 21:31:12 +01:00
Steven Roose
90e1125eff
Remove debug_assert in PublicKey::write_into
2020-10-23 21:28:46 +01:00
Steven Roose
cc095a4ba7
Remove assert in Uint256::from_i64 and return None instead
2020-10-23 21:28:15 +01:00
Steven Roose
5c04a059d5
Change some static assertions to debug_assert
2020-10-23 21:28:13 +01:00
Andrew Poelstra
e7980ac8a5
Merge pull request #413 from stevenroose/message-signature
...
Add MessageSignature type for dealing with signed messages
2020-10-14 16:30:15 +00:00
Steven Roose
3f65fb1aed
Don't support signed messages with p2wpkh addresses
2020-10-14 16:54:58 +02:00
Dr Maxim Orlovsky
00c3466363
Serde implementation for PSBT
2020-10-14 16:31:24 +02:00
sanket1729
57b63d4b52
Add tests for psbt hash serde
2020-10-11 21:51:03 -05:00
sanket1729
48151ef204
Added Hash preimages to psbt
...
Added hash preimages to psbt as per updated bip174
2020-10-11 21:51:02 -05:00
Steven Roose
f7422fb8d1
Add MessageSignature type for dealing with signed messages
2020-10-11 22:44:00 +02:00
Alexis Sellier
210ff9edc7
Derive useful traits on `BlockFilter`
2020-10-11 22:31:32 +02:00
Jake Rawsthorne
eeb14c4b08
Implement new FilterHeader type to differentiate from FilterHash
2020-10-10 20:38:10 +01:00
Steven Roose
e60bfe2f61
Revert the sighash method signatures
...
Hash engines don't product I/O errors, so encoding into them
shouldn't produce errors either.
2020-10-09 16:27:38 +02:00
Andrew Poelstra
3618d7a41d
Merge pull request #485 from ipaljak-tbtl/expose-tx-signature-data
...
Expose serialized data for transaction signatures
2020-10-09 13:24:51 +00:00
Ivan Paljak
e66caab956
Improve error handling, fix forgotten early return
2020-10-08 16:40:30 +02:00
Elichai Turkel
eda47c31c9
Remove redundant code / configurations
2020-10-08 17:11:18 +03:00
Elichai Turkel
2d70623356
Remove deprecated Error::description impl
2020-10-08 17:11:18 +03:00
Elichai Turkel
023fae1f65
Add the dyn keyword where appropriate
2020-10-08 17:11:16 +03:00
Elichai Turkel
efe1a55819
Use new inclusive range syntax
2020-10-08 17:08:51 +03:00
Elichai Turkel
ad0064db14
Remove hex as a dev-dependency
2020-10-08 17:08:48 +03:00
Andrew Poelstra
7c47c9a341
Merge pull request #356 from elichai/2019-12-macros
...
Simplifying macros
2020-10-08 14:05:23 +00:00
Elichai Turkel
fdd6f4f196
Derive macros instead of implementing via macro_rules
2020-10-08 16:17:14 +03:00
Riccardo Casatta
8ac3af68a4
use u128 in map_to_range
2020-10-08 08:57:59 +02:00
Ivan Paljak
c21dabb824
Expose serialized data for transaction signatures
2020-10-08 01:21:10 +02:00
Andrew Poelstra
8c82129442
Merge pull request #480 from LNP-BP/feat/keysource
...
Introducing `bip32::KeySource`: wrapper for `(Fingerprint, DerivationPath)`
2020-10-07 22:23:39 +00:00
Andrew Poelstra
3748e8faf5
Merge pull request #459 from sgeisler/2020-08-extend-derivation-path
...
Allow easy concatenation of bip32 derivation paths
2020-10-07 21:34:17 +00:00
Steven Roose
d92ca87c69
Merge pull request #488 from sgeisler/2020-10-bip32-doc-fix
...
Bip32 documentation fix
2020-10-07 21:15:14 +02:00
Sebastian Geisler
b8c7bc8dcb
Bip32 documentation fix
2020-10-07 16:50:27 +02:00
Karl-Johan Alm
a3d9899cb1
add signet support
2020-09-18 16:32:33 +09:00
Dr Maxim Orlovsky
c098dfa7f2
BIP32 KeySource refactored to type aliace
2020-09-14 00:37:29 +02:00
Dr Maxim Orlovsky
aa67f10162
Introducing `bip32::KeySource`: wrapper for `(Fingerprint, DerivationPath)`
2020-09-13 22:49:52 +02:00
Dr Maxim Orlovsky
ff1b4a8dbd
WPubkeyHash constructor failing on uncompressed PublicKey
2020-09-11 15:43:05 +02:00
Dr Maxim Orlovsky
1d9f531581
Pubkey hash functions (normal and witness)
2020-09-11 15:04:26 +02:00
Andrew Poelstra
c94295c3a9
Revert "Added hash Preimages to psbt"
2020-09-11 11:31:10 +00:00
Andrew Poelstra
3f33bd74e4
Merge pull request #465 from sanket1729/psbt_updates
...
Added hash Preimages to psbt
2020-09-11 11:30:27 +00:00
Andrew Poelstra
49e97cca65
Merge pull request #387 from pandoracore/builder-p2wildcard
...
Refactoring script generating functions into a single place
2020-09-11 11:29:09 +00:00
sanket1729
c1eafff9ef
Added Sighash calculation for psbt
2020-09-11 01:01:33 -05:00
Andrew Poelstra
05f3451b10
un-deperate contracthash during testing
...
Avoids a rust test runner bug, see https://github.com/rust-lang/rust/issues/47238
2020-09-10 16:40:31 +00:00
Andrew Poelstra
4e737f708a
Merge pull request #461 from TheBlueMatt/2020-08-mut-sighash
...
Expose the witnesses of the tx being hashed in SigHashCache
2020-09-10 13:04:51 +00:00
Dr Maxim Orlovsky
38a412c4d5
Fixing review comments for script generators refactoring
2020-09-10 14:44:44 +02:00
Dr Maxim Orlovsky
9143fd3888
All script generation functionality moved to standalone methods in Script
2020-09-10 12:09:04 +02:00
Sebastian Geisler
202a946fc3
Allow easy concatenation of bip32 derivation paths
...
Currently one has to convert the path into a Vec<ChildNumber>, extend it and finally convert it back again.
2020-09-09 21:42:27 +02:00