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
Andrew Poelstra
fc47c477ab
key: add some missing functionality
2019-02-27 01:56:38 +00:00
Carl Dong
4bf99e79f8
Merge pull request #236 from dongcarl/2019-02-remove-unused-option-decoding
...
Remove unused Option en/decoding
2019-02-22 10:14:37 -05:00
Carl Dong
04c7f2071d
Merge pull request #235 from dongcarl/2019-02-remove-extraneous-params-clone
...
Remove extraneous clones in consensus::params
2019-02-21 17:41:08 -05:00
Carl Dong
4c742fbaa1
Merge pull request #237 from dongcarl/2019-02-forbid-unsafe
...
Forbid unsafe code
2019-02-21 17:37:59 -05:00
Carl Dong
1ad1c11649
Forbid unsafe code
2019-02-20 17:16:21 -05:00
Carl Dong
17c0f4e784
Remove unused Option en/decoding
2019-02-20 17:08:36 -05:00
Carl Dong
2f70c3bc34
Remove extraneous clones in consensus::params
2019-02-20 15:47:31 -05:00
Matt Corallo
084703cba9
Merge pull request #218 from tamasblummer/merkle_root_fix
...
Merkle root calculation and witness commitment check for Block
2019-02-16 19:05:42 -05:00
Carl Dong
d5331e59ed
Merge pull request #233 from stevenroose/derivation-path
...
bip32: Add DerivationPath type
2019-02-15 09:52:59 -05:00
Steven Roose
dce81b623e
bip32: Add additional methods and traits to DerivationPath
...
- From<&[ChildNumber]> (cloning)
- AsRef<[ChildNumber]>
- std::iter::FromIterator<ChildNumber>
- std::iter::IntoIterator<ChildNumber>
- std::ops::Index (returning &[ChildNumber])
Also add two methods:
- child(&self, ChildNumber) -> DerivationPath
- into_child(self, ChildNumber) -> DerivationPath
2019-02-14 11:16:06 +00:00
Steven Roose
1373969805
bip32: Change test vectors to use DerivationPath
2019-02-14 11:09:39 +00:00
Steven Roose
b23de17d55
bip32: Introduce DerivationPath type
...
Implements Display and FromStr for easy usage with serialized types.
2019-02-14 11:09:34 +00:00
Steven Roose
a80cea270a
bip32: ChildNumber constructors return Result
...
They can produce an error if the index is out of range.
2019-02-14 11:08:13 +00:00
Sebastian Geisler
cad0fe790f
point to IRC
2019-02-12 14:28:57 -08:00
lucash-dev
114ebb0c73
Added contributing part to README
2019-02-12 14:28:57 -08:00
Carl Dong
560dfb7c01
Merge pull request #203 from stevenroose/asm
...
Extract the Script assembly creator from fmt::Debug
2019-02-11 17:24:03 -05:00
Carl Dong
f87e173268
Merge pull request #227 from dongcarl/2019-01-improve-local-testing
...
Extract travis testing into locally-runnable script
2019-02-11 16:24:05 -05:00
Andrew Poelstra
8ae4aee0d8
Merge pull request #183 from dongcarl/2018-9-pubkey-wrapper
...
Ready for Review: Introduce util::key and deprecate util::privkey
2019-02-11 21:21:32 +00:00
Carl Dong
a944c7fbd0
key: Use correct error for decoding
...
This change also moves the secp256k1::Error wrapper from util::Error to
consensus::encode::Error, since we do not use it anywhere else. We can
add it back to util::Error once we have instances of secp256k1::Error
that are not related to consensus::encode.
2019-02-11 15:15:03 -05:00
Carl Dong
fc448ba47c
key: Reword and clarify comments
2019-02-11 15:10:20 -05:00
Carl Dong
b3cc3d50ef
Integrate newly-added PublicKey with Address
...
- Switch util::address::Payload::Pubkey variant to wrap
util:🔑 :PublicKey
- Switch util::address::Address::p*k* constructors to use
util:🔑 :PublicKey
- Fix tests for aforementioned switch
- Add convenience methods for util:🔑 :PublicKey to
util:🔑 :PrivateKey conversion
- Switch BIP143 tests to use util:🔑 :PublicKey
2019-02-11 15:10:13 -05:00
Carl Dong
53a6efe33c
Add PublicKey struct encapsulating compressedness
...
- Move util::privkey to util::key
- Add PublicKey struct to util::key
- Implement de/serialization methods for util:🔑 :PublicKey
2019-02-11 14:56:55 -05:00
Carl Dong
60c93c387f
Cleanup util::privkey in preparation for PublicKey
...
- Rename privkey::PrivKey to privkey::PrivateKey
- Remove unnecessary methods for privkey::PrivateKey
- Modify tests to work with above changes
2019-02-11 14:56:49 -05:00
Tamás Blummer
1cd2782122
add BIP157 (Client Side Block Filtering) Messages ( #225 )
...
* add BIP57 (Client Side Block Filtering) Messages
* rabased after https://github.com/rust-bitcoin/rust-bitcoin/pull/215
2019-02-08 13:00:51 +01:00
Carl Dong
e386d9e2e9
Merge pull request #222 from stevenroose/no-p2pk-addr
...
Remove Address::p2pk
2019-02-07 16:18:31 -05:00
Steven Roose
f80e882813
Remove Address::p2pk
...
There is no address format for p2pk.
2019-02-07 20:02:21 +00:00
Carl Dong
50fef2d851
Extract travis testing into locally-runnable script
2019-02-04 10:39:37 -05:00
ariard
51971dd533
Fix typos and clarify some comment in blockdata, block, address ( #230 )
2019-02-04 07:30:41 +01:00
Tamas Blummer
d8c93d9935
Implement Witness commitment check for Block. Remove MerkleRoot implementations for types implementing BitcoinHash as
...
it is misleading. MerkleRoot is defined instead for a Block.
2019-02-01 17:46:26 +01:00
Carl Dong
51aba8bb21
Merge pull request #215 from dongcarl/2018-12-integrate-bitcoin-hashes
...
Integrate bitcoin_hashes, remove rust-crypto and fuzz_util
2019-01-24 19:58:34 -05:00
Carl Dong
ca72a04dd4
Remove rust-crypto dependency
...
We no longer need rust-crypto after integrating bitcoin_hashes.
2019-01-24 16:27:52 -05:00
Carl Dong
1bbeda87eb
Remove fuzz_util module
...
Not needed anymore as the bitcoin_hashes crate handles this.
2019-01-24 16:27:52 -05:00
Carl Dong
96f9c62b0e
Remove unused internal macro
2019-01-24 16:27:52 -05:00
Carl Dong
c830fb4629
Remove code deprecated by bitcoin_hashes from util::hash
2019-01-24 16:27:52 -05:00
Carl Dong
99f63a8ca4
Convert codebase from util::hash to bitcoin_hashes
...
Also replace unsafe transmute with call to read_u64_into
2019-01-24 16:27:52 -05:00
Carl Dong
45aa709467
Implement En/Decodable for sha256d::Hash
2019-01-24 11:31:07 -05:00
Carl Dong
b88f00c698
Add bitcoin_hashes dependency, rename some features
...
Because features and dependencies share the same namespace, and we want
to pass down the optional dependence on serde to bitcoin_hashes, we need
to rename the feature to something other than serde. Right now only
features can be passed down to dependencies.
Note that we could have also renamed the dependency to something like
serde-dep and kept the same feature name, however, dependency renaming
has only been available since cargo 0.27.0
Features that represent optional dependencies have been prefixed with
'use-'. The travis file has also been modified to conform to this
change.
2019-01-24 11:31:07 -05:00
Carl Dong
b6ec6a0d62
Merge pull request #212 from TheBlueMatt/2019-01-travis-nightly-bench
...
Run cargo bench on rustc nightly in travis
2019-01-23 19:25:44 -05:00
Dimitris Apostolou
132ca5ea95
Fix typos
2019-01-23 14:17:29 -05:00
Tamas Blummer
96be35b1d3
it is annoying to have a difference between debug and print for hash
2019-01-23 14:14:29 -05:00
Carl Dong
8584303768
Bump rustc version to 1.22.0
2019-01-22 19:58:18 -05:00
Andrew Poelstra
21bd59cb17
Merge pull request #214 from apoelstra/2019-01-0.16
...
bump version to 0.16
2019-01-15 21:01:10 +00:00
Andrew Poelstra
b5d5ac5ffb
bump version to 0.16
2019-01-15 19:07:53 +00:00
Matt Corallo
0d7e13b034
Run cargo bench on rustc nightly in travis, remote useless move
2019-01-15 14:06:24 -05:00
Matt Corallo
2ed4b1f246
Merge pull request #208 from sgeisler/hex_bytes
...
Use more performant hex_bytes function
2019-01-15 14:06:00 -05:00
Andrew Poelstra
282daaab69
Merge pull request #213 from dongcarl/2019-01-secp-0.12-bump
...
Bump secp to 0.12
2019-01-15 19:03:03 +00:00
Carl Dong
ff5c4a1806
Bump secp to 0.12
2019-01-15 12:58:54 -05:00
Matt Corallo
81bfc4f027
Merge pull request #211 from dongcarl/2019-01-move-user-enum-macro
...
Internalize unnecessarily exported macros
2019-01-15 12:58:47 -05:00
Carl Dong
b2e044f9db
Internalize unnecessarily exported macros
2019-01-15 11:53:31 -05:00